Delen via


Compilerfout C2355

'this' : kan alleen worden verwezen binnen niet-statische lidfuncties of initialisaties van niet-statische gegevensleden

Opmerkingen

De this aanwijzer is alleen geldig binnen niet-statische lidfuncties of in initialisatiefuncties van niet-statische gegevensleden. Deze fout kan ertoe leiden dat het klassebereik van een lidfunctiedefinitie buiten de klassedeclaratie niet goed is gekwalificeerd. De fout kan ook optreden wanneer de this aanwijzer wordt gebruikt in een functie die niet in de klasse is gedeclareerd.

U kunt dit probleem oplossen door ervoor te zorgen dat de definitie van de lidfunctie overeenkomt met een lidfunctiedeclaratie in de klasse en dat deze niet statisch is gedeclareerd. Voor initialisaties van gegevensleden moet u ervoor zorgen dat het gegevenslid niet statisch is gedeclareerd.

Example

In het volgende voorbeeld wordt C2355 gegenereerd en ziet u hoe u dit kunt oplossen:

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

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