Tag: 返回式扣除

自动返回types推演是否强制多个函数具有相同的返回types?

考虑下面的代码片段: struct A { auto foo(), bar(); }; auto A::foo() { return 1; } auto A::bar() { return 'a'; } int main() { } 它在Clang ++ 3.7.0中编译得很好。 它在G ++ 5.2.0中失败 : main.cpp: In member function 'auto A::bar()': main.cpp:7:24: error: inconsistent deduction for 'auto': 'int' and then 'char' auto A::bar() { return 'a'; } 自动返回types推演是否强制在单个语句中声明的多个函数具有相同的返回types?