共用方式為


編譯器警告 (層級 4) C4130

'operator': 以字串常數的位址進行邏輯運算

搭配使用運算子與字串常值的位址會產生非預期的程式碼。

下列範例會產生 C4130:

// C4130.cpp
// compile with: /W4
int main()
{
   char *pc;
   pc = "Hello";
   if (pc == "Hello") // C4130
   {
   }
}

語句 if 會將儲存在指標 pc 中的值與字串 「Hello」 的地址進行比較,此位址會在每次程式代碼中發生字串時個別配置。 if語句不會比較 所pc指向的字串與字串 「Hello」。

若要比較字串,請使用 strcmp 函式。