Share via


Advertencia del compilador (nivel 3) C4101

Actualización: noviembre 2007

Mensaje de error

'identificador' : variable local sin referencia
'identifier' : unreferenced local variable

La variable local nunca se utiliza. Esta advertencia se produce en la siguiente situación:

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

Sin embargo, esta advertencia también se produce al llamar a una función miembro static a través de una instancia de la clase:

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

En esta situación, el compilador utiliza información acerca de si para obtener acceso a la función static, pero no es necesaria la instancia de la clase para llamar a la función static, de ahí la advertencia. Para resolver este advertencia:

  • Agregue un constructor, donde el compilador utilizará la instancia de si en la llamada a func.

  • Quite la palabra clave static de la definición de func.

  • Llame explícitamente a la función static: int y = S::func();.