Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
'this' : só pode ser referenciado dentro de funções de membro não estático ou inicializadores de membros de dados não estáticos
Observações
O this ponteiro é válido apenas em funções de membro não estático ou em inicializadores de membros de dados não estáticos. Esse erro pode ocorrer quando o escopo de classe de uma definição de função de membro fora da declaração de classe não é qualificado corretamente. O erro também pode ocorrer quando o this ponteiro é usado em uma função que não é declarada na classe.
Para corrigir esse problema, verifique se a definição de função de membro corresponde a uma declaração de função de membro na classe e se ela não é declarada estática. Para inicializadores de membros de dados, certifique-se de que o membro de dados não seja declarado estático.
Example
O exemplo a seguir gera C2355 e mostra como corrigi-lo:
// C2355.cpp
// compile with: /c
class MyClass {};
MyClass *p = this; // C2355
// OK
class MyClass2 {
public:
void Test() {
MyClass2 *p = this;
}
};