共用方式為


編譯器警告 (層級 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 函式;因此發生警告。 若要解決此警告,您可以:

  • 新增建構函式,編譯器會在呼叫中使用 si 執行個體來 func

  • 請從 func 定義中移除 static 關鍵字。

  • 明確呼叫 static 函式:int y = S::func();