Dela via


Kompilatorvarning (nivå 3 och nivå 4) C4101

"identifierare": orefererad lokal variabel

Anmärkningar

Den lokala variabeln används aldrig.

Examples

Den här varningen inträffar i den uppenbara situationen:

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

Den här varningen inträffar dock även när du anropar en static medlemsfunktion via en instans av klassen:

// 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;
}

I det här fallet använder kompilatorn information om si för att komma åt static funktionen, men instansen av klassen behövs inte för att anropa static funktionen, därav varningen. För att lösa den här varningen kan du:

  • Lägg till en konstruktor där kompilatorn använder instansen av si i anropet till func.

  • Ta bort nyckelordet static från definitionen av func.

  • static Anropa funktionen explicit: int y = S::func();.