Kompilatorfel C2355

"detta" : kan endast refereras i icke-statiska medlemsfunktioner eller icke-statiska initiatorer för datamedlemmar

Anmärkningar

Pekaren this är endast giltig i icke-statiska medlemsfunktioner eller i icke-statiska initiatorer för datamedlemmar. Det här felet kan uppstå när klassomfattningen för en medlemsfunktionsdefinition utanför klassdeklarationen inte är korrekt kvalificerad. Felet kan också inträffa när pekaren this används i en funktion som inte har deklarerats i klassen.

Åtgärda problemet genom att kontrollera att medlemsfunktionsdefinitionen matchar en medlemsfunktionsdeklaration i klassen och att den inte deklareras som statisk. För initierare för datamedlemmar kontrollerar du att datamedlemmen inte har deklarerats som statisk.

Example

Följande exempel genererar C2355 och visar hur du åtgärdar det:

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

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