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.
«operador» : operação ilegal na expressão da função de membro vinculado
Observações
O compilador encontrou um problema com a sintaxe usada na criação de um ponteiro para um membro.
O erro C2276 geralmente é causado quando você tenta criar um ponteiro para membro usando uma variável de instância para qualificar o membro, em vez de um tipo de classe. Você também pode ver esse erro se estiver tentando chamar uma função de membro usando a sintaxe errada.
Example
Este exemplo mostra várias maneiras como C2276 pode ocorrer e como corrigi-los:
// C2276.cpp
class A {
public:
int func(){return 0;}
} a;
int (*pf)() = &a.func; // C2276
// pf isn't qualified by the class type, and it
// tries to take a member address from an instance of A.
// Try the following line instead:
// int (A::*pf)() = &A::func;
class B : public A {
public:
void mf() {
auto x = &this -> func; // C2276
// try the following line instead
// auto x = &B::func;
}
};
int main() {
A a3;
auto pmf1 = &a3.func; // C2276
// try the following line instead
// auto pmf1 = &A::func;
}