'token' : 帶正負號/不帶正負號不符
備註
使用 Token 運算符來比較 signed ,而較大的unsigned數位需要編譯程式將值轉換成signed較大的unsigned類型。
修正此警告的其中一個方法是,當您比較 signed 和較大的 unsigned 類型時,將其中一種轉換成這兩種類型。
此警告預設為關閉。 您可以使用 /Wall 或在 /w44388 命令列上將其啟用為層級 4 警告。 或者,在 #pragma warning(default:4388) 原始程式檔中使用 。 如需詳細資訊,請參閱 默認關閉的編譯程式警告。
範例
此示例生成C4388並顯示如何修復它:
// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)
int main() {
unsigned long long uc = 0;
int c = 0;
unsigned long long c2 = c; // implicit conversion
if (uc < c) // C4388
uc = 0;
if (uc < (unsigned long long)(c)) // OK
uc = 0;
if (uc < c2) // Also OK
uc = 0;
}