Errore del compilatore C2597
riferimento non valido al membro non statico 'identifier'
Possibili cause:
Viene specificato un membro non statico in una funzione membro statica. Per accedere al membro non statico, è necessario passare o creare un'istanza locale della classe e usare un operatore di accesso membri (
.
o->
).L'identificatore specificato non è un membro di una classe, struttura o unione. Controllare l'ortografia dell'identificatore.
Un operatore di accesso al membro fa riferimento a una funzione non membro.
L'esempio seguente genera l'errore C2597 e mostra come risolverlo:
// C2597.cpp
// compile with: /c
struct s1 {
static void func();
static void func2(s1&);
int i;
};
void s1::func() {
i = 1; // C2597 - static function can't access non-static data member
}
// OK - fix by passing an instance of s1
void s1::func2(s1& a) {
a.i = 1;
}