Delen via


Compilerfout C2597

ongeldige verwijzing naar niet-statisch lid 'id'

Opmerkingen

Mogelijke oorzaken:

  1. Een niet-statisch lid wordt opgegeven in een statische lidfunctie. Als u toegang wilt krijgen tot het niet-statische lid, moet u een lokaal exemplaar van de klasse doorgeven of maken en een operator voor lidtoegang (. of ->) gebruiken.

  2. De opgegeven id is geen lid van een klasse, structuur of samenvoeging. Controleer de spelling van identificatoren.

  3. Een lidtoegangsoperator verwijst naar een functie die geen lid is.

Voorbeeld

  1. In het volgende voorbeeld wordt C2597 gegenereerd en ziet u hoe u dit kunt oplossen:
// 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;
}