Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"operator" : niedozwolona operacja w wyrażeniu funkcji powiązanej składowej
Uwagi
Kompilator znalazł problem ze składnią użytą do utworzenia wskaźnika do elementu członkowskiego.
Błąd C2276 jest często spowodowany próbą utworzenia wskaźnika do składowej przy użyciu zmiennej wystąpienia w celu zakwalifikowania elementu członkowskiego zamiast typu klasy. Ten błąd może również zostać wyświetlony, jeśli próbujesz wywołać funkcję składową przy użyciu nieprawidłowej składni.
Przykład
W tym przykładzie pokazano kilka sposobów, na które mogą wystąpić C2276 i jak je naprawić:
// 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;
}