Compartilhar via


Aviso do Compilador (nível 3 e nível 4) C4101

'identificador': variável local não referenciada

A variável local nunca é usada. Esse aviso ocorre na situação óbvia:

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

No entanto, esse aviso também ocorre ao chamar uma função membro static por meio de uma instância da 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;
}

Nessa situação, o compilador usa informações sobre si para acessar a função static, mas a instância da classe não é necessária para chamar a função static; daí o aviso. Para resolver esse aviso, você pode:

  • Adicionar um construtor, no qual o compilador usaria a instância de si na chamada para func.

  • Remover a palavra-chave static da definição de func.

  • Chamar a função static explicitamente: int y = S::func();.