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


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

"class" : type-class-id переопределен как член данных идентификатора

Универсальный или шаблонный класс нельзя использовать в качестве элемента данных.

Эта ошибка устарела в Visual Studio 2022 и более поздних версиях.

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

// C2932.cpp
// compile with: /c
template<class T>
struct TC {};

struct MyStruct {
   int TC<int>;   // C2932
   int TC;   // OK
};

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

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

struct MyStruct {
   int GC<int>;   // C2932
   int GC;   // OK
};