このコードのコンパイルに問題はありません:
struct A
{
template<typename T>
void f(int) {}
};
A a;
a.f<double>(42);
ただし、テンプレート化されたコンストラクターを使用した同様のコードはコンパイルされません。
struct A
{
template<typename T>
A(int) {}
};
A a<double>(42);
Gcc は最後の行で次のエラーを返します:エラー: '<' トークンの前に予期しない初期化子
コンストラクターの例を機能させる方法はありますか?