次のコードは、Xcode でコンパイル エラーを生成します。
template <typename T>
struct Foo
{
Foo(T Value)
{
}
};
int main()
{
Foo MyFoo(123);
return 0;
}
error: missing template arguments before 'MyFoo'
に変更Foo MyFoo(123);
するFoo<int> MyFoo(123);
と問題は解決しますが、コンパイラは適切なデータ型を把握できないのでしょうか?
これはコンパイラのバグですか、それとも暗黙のテンプレート パラメータを誤解していますか?