次の方法で共有


コンパイラの警告 (レベル 3) C4101

更新 : 2007 年 11 月

エラー メッセージ

'identifier' : ローカル変数は 1 度も使われていません。

ローカル変数が一度も使用されていません。この警告は、次のような明らかな状況で発生します。

// 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 関数の呼び出しにはクラスのインスタンスが不要であるため、この警告が発生します。この警告を解決するには、次の方法があります。

  • コンストラクタを追加し、コンパイラがコンストラクタ内で func の呼び出しに si のインスタンスを使用するようにします。

  • func の定義から static キーワードを削除します。

  • int y = S::func(); のように、static 関数を明示的に呼び出します。