Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
"operator" : neplatná operace ve výrazu vázané členské funkce
Poznámky
Kompilátor zjistil problém se syntaxí použitou k vytvoření ukazatele na člena.
K chybě C2276 často dochází při pokusu o vytvoření ukazatele na člen pomocí proměnné instance, která kvalifikuje člena místo typu třídy. Tato chyba se může zobrazit také v případě, že se pokoušíte volat členovou funkci pomocí nesprávné syntaxe.
Příklad
Tento příklad ukazuje několik způsobů, jak může dojít k C2276 a jak je opravit:
// 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;
}