コンパイラ エラー C2902
'トークン' : 'template' に続く予期しないトークン。識別子が必要です
キーワード template
に続くトークンが識別子ではありません。
このエラーは、Visual Studio 2022 以降のバージョンでは廃止されています。
次の例では C2902 が生成されます。
// C2902.cpp
// compile with: /c
namespace N {
template<class T> class X {};
class Y {};
}
void g() {
N::template + 1; // C2902
}
void f() {
N::template X<int> x1; // OK
}
C2902 は、ジェネリックを使用しているときも発生することがあります。
// C2902b.cpp
// compile with: /clr /c
namespace N {
generic<class T> ref class GC {};
}
void f() {
N::generic + 1; // C2902
N::generic GC<int>^ x;
}