は以下のスニペットを考えてみましょう:自動復帰型減算は、複数の関数が同じ戻り値型を持つように強制しますか?
struct A
{
auto foo(), bar();
};
auto A::foo() { return 1; }
auto A::bar() { return 'a'; }
int main()
{
}
それはクラン++ 3.7.0で罰金コンパイルします。 G ++ 5.2.0で
それはfails:
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'; }
は同じ戻り値の型を持つように、単一のステートメントで宣言された自動戻り型推論力、複数の機能を、していますか?
警告/エラーなしでMSVS 2015もコンパイルされます。 – NathanOliver
ちょうど興味深い:だれでも今ここに見つかったコンパイラのバグをファイルしますか? –
あなたの場合(https://goo.gl/i09xpE)、Clangは暗黙的に 'a'を97にキャストします。 – romeric