Compiler Warning (level 4) C4189

'identifier' : local variable is initialized but not referenced

A variable is declared and initialized but not used.

Examples

The following sample generates C4189:

C++
// C4189.cpp
// compile with: /W4
int main() {
   int a = 1;   // C4189, remove declaration to resolve
}

Starting in Visual Studio 2017 version 15.5, warning C4189 is emitted in more cases, as shown in the following code:

C++
void f() {
    char s[2] = {0}; // C4189. Either use the variable or remove it.
}

To fix the error, remove the unused variable.