Condividi tramite


Errore del compilatore C2355

'this': riferimento possibile solo all'interno di funzioni membro non statiche o inizializzatori di membri dati non statici

Osservazioni:

Il puntatore this è valido solo all'interno di funzioni membro non statiche o in inizializzatori di membri dati non statici. Questo errore può verificarsi quando l'ambito di classe di una definizione di funzione membro esterna alla dichiarazione di classe non viene qualificato correttamente. Questo errore può verificarsi anche quando il puntatore this viene usato in una funzione non dichiarata nella classe.

Per risolvere questo problema, verificare che la definizione di funzione membro corrisponda a una dichiarazione di funzione membro nella classe e che non sia dichiarata static. Per gli inizializzatori di membri dati, assicurarsi che il membro dati non sia dichiarato static.

Example

L'esempio seguente genera l'errore C2355 e mostra come risolverlo:

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

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