Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
illegal referens till icke-statisk medlemsidentifierare
Anmärkningar
Möjliga orsaker:
En ickestatisk medlem anges i en statisk medlemsfunktion. För att få åtkomst till den icke-statiska medlemmen måste du skicka in eller skapa en lokal instans av klassen och använda en medlemsåtkomstoperator (
.eller->).Den angivna identifieraren är inte medlem i en klass, struktur eller union. Kontrollera stavning av identifierare.
En medlemsåtkomstoperator syftar på en ickemedlemsfunktion.
Exempel
- Följande exempel genererar C2597 och visar hur du åtgärdar det:
// 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;
}