Aracılığıyla paylaş


Derleyici Hatası C2597

statik olmayan 'identifier' üyesine geçersiz başvuru

Açıklamalar

Olası nedenler:

  1. Statik üye işlevinde statik olmayan bir üye belirtilir. Statik olmayan üyeye erişmek için, sınıfın yerel bir örneğini geçirmeniz veya oluşturmanız ve bir üye erişim işleci (. veya ->) kullanmanız gerekir.

  2. Belirtilen tanımlayıcı bir sınıfın, yapının veya birleşimin üyesi değil. Tanımlayıcı yazımını denetleyin.

  3. Üye erişim işleci, üye olmayan bir işleve başvurur.

Örnek

  1. Aşağıdaki örnek C2597 oluşturur ve nasıl düzeltileceğini gösterir:
// 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;
}