'identifier': 参照されていないローカル変数
注釈
ローカル変数は使用されません。
例示
この警告は、明らかな状況で発生します:
// C4101a.cpp
// compile with: /W3
int main() {
int i; // C4101
}
ただし、クラスのインスタンスを介して static メンバー関数を呼び出した場合にも、この警告が表示されます:
// 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;
}
この場合、コンパイラは si の情報を使用して static 関数にアクセスしますが、クラスのインスタンスは static 関数の呼び出しには必要ありませんので、警告が表示されます。 この警告を解決するためには:
コンストラクターを追加します。コンパイラは
siの呼び出しにfuncのインスタンスを使用します。staticの定義からfuncキーワードを削除します。static関数を明示的に呼び出します:int y = S::func();。