Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
referência ilegal ao «identificador» de membro não estático
Observações
Causas possíveis:
Um membro não estático é especificado em uma função de membro estático. Para acessar o membro não estático, você deve passar ou criar uma instância local da classe e usar um operador de acesso de membro (
.ou->).O identificador especificado não é um membro de uma classe, estrutura ou união. Verifique a ortografia do identificador.
Um operador de acesso de membro refere-se a uma função de não-membro.
Exemplo
- O exemplo a seguir gera C2597 e mostra como corrigi-lo:
// 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;
}