编译器警告(等级 4)C4245

“conversion”:从“type1”到“type2”的转换,有符号/无符号不匹配

尝试将具有负值的 signed const 类型转换为 unsigned 类型。

下面的示例生成 C4245:

// C4245.cpp
// compile with: /W4 /c
const int i = -1;
unsigned int j = i; // C4245

const int k = 1;
unsigned int l = k; // okay

int m = -1;
unsigned int n = m; // okay

void Test(size_t i) {}

int main() {
   Test( -19 );   // C4245
}