Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 1.22 KB

compiler-warning-level-3-c4101.md

File metadata and controls

47 lines (37 loc) · 1.22 KB
description title ms.date f1_keywords helpviewer_keywords
Learn more about: Compiler Warning (level 3 and level 4) C4101
Compiler Warning (level 3 and level 4) C4101
11/04/2016
C4101
C4101

Compiler Warning (level 3 and level 4) C4101

'identifier': unreferenced local variable

The local variable is never used. This warning occurs in the obvious situation:

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

However, this warning also occurs when calling a static member function through an instance of the class:

// 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 this situation, the compiler uses information about si to access the static function, but the instance of the class isn't needed to call the static function; hence the warning. To resolve this warning, you could:

  • Add a constructor, in which the compiler would use the instance of si in the call to func.

  • Remove the static keyword from the definition of func.

  • Call the static function explicitly: int y = S::func();.