Teilen über


Compilerfehler C2352

'class::function': Unzulässiger Aufruf einer nicht statischen Memberfunktion

Bemerkungen

Eine als nicht statische Memberfunktion bezeichnete staticMemberfunktion. Oder es wurde eine nicht statische Memberfunktion von außerhalb der Klasse als eine statische Funktion aufgerufen.

Examples

Im folgenden Beispiel wird C2352 generiert und veranschaulicht, wie sie behoben werden:

// C2352.cpp
// compile with: /c
class CMyClass {
public:
   static void func1();
   void func2();
   static void func3() {
      func2();   // C2352 calls nonstatic func2
      func1();   // OK calls static func1
   }
};

Im folgenden Beispiel wird C2352 generiert und veranschaulicht, wie sie behoben werden:

// C2352b.cpp
class MyClass {
public:
   void MyFunc() {}
   static void MyFunc2() {}
};

int main() {
   MyClass::MyFunc();   // C2352
   MyClass::MyFunc2();   // OK
}