Partager via


Avertissement du compilateur (niveaux 3 et 4) C4101

« identifier » : variable locale non référencée

Remarques

La variable locale n’est jamais utilisée.

Examples

Cet avertissement se produit dans la situation évidente :

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

Toutefois, cet avertissement se produit également lors de l’appel d’une fonction membre static via une instance de la 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;
}

Dans ce cas, le compilateur utilise des informations sur l’accès si à la fonction static, mais l’instance de la classe n’est pas nécessaire pour appeler la fonction static ; par conséquent, l’avertissement. Pour résoudre cet avertissement, vous pouvez :

  • Ajoutez un constructeur, dans lequel le compilateur utilise l’instance de si l’appel à func.

  • Supprimez le mot clé static de la définition de func.

  • Appelez la fonction static explicitement : int y = S::func();.