Sdílet prostřednictvím


Chyba kompilátoru C2355

'this' : lze odkazovat pouze uvnitř nestatických členských funkcí nebo nestatických inicializátorů datového členu.

Poznámky

Ukazatel this je platný pouze v rámci nestatických členských funkcí nebo v inicializátorech nestatického datového členu. Tato chyba může vést k tomu, že obor třídy definice členské funkce mimo deklaraci třídy není správně kvalifikovaný. K chybě může dojít také v případě this , že je ukazatel použit ve funkci, která není deklarována ve třídě.

Chcete-li tento problém vyřešit, ujistěte se, že definice členské funkce odpovídá deklaraci členské funkce ve třídě a že není deklarována statická. U inicializátorů datových členů se ujistěte, že datový člen není deklarován jako statický.

Example

Následující příklad vygeneruje C2355 a ukazuje, jak ho opravit:

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

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