请考虑下面的代码片段:
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'; }
自动返回类型推断是否会强制在单个语句中声明的多个函数具有相同的返回类型?