编译器警告(级别 3 和级别 4)C4189

“identifier”:局部变量已初始化但未引用

已声明并初始化变量,但未使用。

示例

下面的示例生成 C4189:

// C4189.cpp
// compile with: /W4
int main() {
   int a = 1;   // C4189
}

在 Visual Studio 2017 版 15.5 及更高版本中,在更多情况下会发出警告 C4189,如下面的代码所示:

void f() {
    char s[2] = {0}; // C4189
}

若要修复此错误,请移除未使用的变量或添加 [[maybe_unused]] 属性。