Erro do compilador C2352
'class::function': chamada inválida da função membro não estática
Uma função membro static
chamava uma função membro não estática. Ou então, uma função membro não estática era chamada de fora da classe como uma função estática.
O seguinte exemplo gera o erro C2352 e mostra como corrigi-lo:
// 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
}
};
O seguinte exemplo gera o erro C2352 e mostra como corrigi-lo:
// C2352b.cpp
class MyClass {
public:
void MyFunc() {}
static void MyFunc2() {}
};
int main() {
MyClass::MyFunc(); // C2352
MyClass::MyFunc2(); // OK
}