'token': 符号付きと符号なしの数値を比較しようとしました
解説
token 演算子を使って signed と unsigned の数値を比較する場合、コンパイラは signed の値を unsigned に変換する必要がありました。
この警告を修正する 1 つの方法は、signed 型と unsigned 型を比較するときに、2 つの型の一方をキャストする場合です。
例
この例では C4018 が生成され、修正方法が示されています。
// C4018.cpp
// compile with: cl /EHsc /W4 C4018.cpp
int main() {
unsigned int uc = 0;
int c = 0;
unsigned int c2 = c; // implicit conversion
if (uc < c) // C4018
uc = 0;
if (uc < unsigned(c)) // OK
uc = 0;
if (uc < c2) // Also OK
uc = 0;
}