Поделиться через


Ошибка компилятора C2923

"тип": "идентификатор" не является допустимым аргументом типа шаблона для параметра "параметр"

В списке аргументов пропущен тип, необходимый для создания экземпляра шаблона или универсального класса. Проверьте объявление шаблона или универсального класса.

Следующий пример приводит к возникновению ошибки C2923:

// C2923.cpp
template <class T> struct TC {};
int x;
int main() {
   TC<x>* tc2;   // C2923
   TC<int>* tc2;   // OK
}

Ошибка C2923 также может возникнуть при использовании универсальных шаблонов.

// C2923b.cpp
// compile with: /clr /c
generic <class T> ref struct GC {};

int x;

int main() {
   GC<x>^ gc2;   // C2923
   GC<int>^ gc2;   // OK
}