Delen via


Compilerfout C2931

'klasse' : type-klasse-id opnieuw gedefinieerd als lidfunctie van 'id'

Opmerkingen

U kunt geen algemene of sjabloonklasse gebruiken als lidfunctie van een andere klasse.

Deze fout is verouderd in Visual Studio 2022 en nieuwere versies.

Deze fout kan worden veroorzaakt als accolades onjuist overeenkomen.

Voorbeelden

In het volgende voorbeeld wordt C2931 gegenereerd:

// C2931.cpp
// compile with: /c
template<class T>
struct TC { };
struct MyStruct {
   void TC<int>();   // C2931
};

struct TC2 { };
struct MyStruct2 {
   void TC2();
};

C2931 kan ook optreden bij het gebruik van generics:

// C2931b.cpp
// compile with: /clr /c
generic<class T> ref struct GC {};
struct MyStruct {
   void GC<int>();   // C2931
   void GC2();   // OK
};