Condividi tramite


Avviso del compilatore (livello 3) C4101

Aggiornamento: novembre 2007

Messaggio di errore

'identificatore': variabile locale senza riferimenti
'identifier' : unreferenced local variable

La variabile locale non viene mai utilizzata. L'avviso viene generato nella situazione riportata di seguito:

// C4101a.cpp
// compile with: /W3
int main() {
int i;   // C4101
}

Viene inoltre generato quando si chiama una funzione membro static tramite un'istanza della classe:

// C4101b.cpp
// compile with:  /W3
struct S {
   static int func()
   {
      return 1;
   }
};

int main() {
   S si;   // C4101, si is never used
   int y = si.func();
   return y;
}

In questa situazione, le informazioni relative a si vengono utilizzate durante la compilazione per accedere alla funzione static, ma non è necessario utilizzare l'istanza della classe per chiamare la funzione static. Viene quindi generato l'avviso. Per risolvere il problema, è possibile effettuare le seguenti operazioni:

  • Aggiungere un costruttore, in cui verrà utilizzata l'istanza di si nella chiamata a func.

  • Rimuovere la parola chiave static dalla definizione di func.

  • Chiamare la funzione static in modo esplicito: int y = S::func();.