Megosztás a következőn keresztül:


C2355-ös fordítási hiba

"ez" : csak nem statikus tagfüggvényeken vagy nem statikus adattag-inicializálókon belül lehet hivatkozni

Megjegyzések

A this mutató csak nem statikus tagfüggvényeken vagy nem statikus adattag-inicializálókban érvényes. Ez a hiba akkor következhet be, ha egy tagfüggvény-definíció osztálytartománya az osztálydeklaráción kívül nincs megfelelően minősítve. A hiba akkor is előfordulhat, ha az this egérmutatót olyan függvényben használják, amely nem deklarálva van az osztályban.

A probléma megoldásához győződjön meg arról, hogy a tagfüggvény definíciója megegyezik az osztályban lévő tagfüggvény-deklarációval, és hogy nincs statikusként deklarálva. Adattag-inicializálók esetén győződjön meg arról, hogy az adattag nincs statikus deklarálva.

Example

Az alábbi példa létrehozza a C2355-öt, és bemutatja a javítás módját:

// C2355.cpp
// compile with: /c
class MyClass {};
MyClass *p = this;   // C2355

// OK
class MyClass2 {
public:
   void Test() {
      MyClass2 *p = this;
   }
};