C26495
强制 C++ Core Guidelines 类型6的 CppCoreCheck 规则
'token' :signed/unsigned mismatch
使用 标记 运算符比较 和 unsigned 数字需要编译器将值转换为 signedunsigned 。
修复此警告的一种方式是在比较 和 类型时强制转换这两种类型 signed 之 unsigned 一。
此示例生成 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;
}
强制 C++ Core Guidelines 类型6的 CppCoreCheck 规则
详细了解:编译器错误 C2664
了解更多:编译器警告 C4430
详细了解:编译器错误 C2143