次の方法で共有


コンパイラの警告 (レベル 3 およびレベル 4) C4101

'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 関数の呼び出しには必要ありませんので、警告が表示されます。 この警告を解決するためには:

  • コンストラクターを追加します。コンパイラは func の呼び出しに si のインスタンスを使用します。

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

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