Udostępnij przez


Błąd kompilatora C2355

"to" : można odwoływać się tylko do funkcji niestacjonanych składowych lub niestacjonowanych inicjatorów składowych danych

Uwagi

Wskaźnik this jest prawidłowy tylko w funkcjach niestacjonanych składowych lub w inicjatorach niestacjonanych składowych danych. Ten błąd może spowodować, że zakres klasy definicji funkcji składowej poza deklaracją klasy nie jest prawidłowo kwalifikowany. Błąd może również wystąpić, gdy this wskaźnik jest używany w funkcji, która nie jest zadeklarowana w klasie.

Aby rozwiązać ten problem, upewnij się, że definicja funkcji składowej jest zgodna z deklaracją funkcji składowej w klasie i że nie jest zadeklarowana jako statyczna. W przypadku inicjatorów składowych danych upewnij się, że element członkowski danych nie jest zadeklarowany jako statyczny.

Example

Poniższy przykład generuje kod C2355 i pokazuje, jak go naprawić:

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

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