【发布时间】:2010-11-24 13:18:16
【问题描述】:
我有这个示例代码,它会生成以下警告(带有 SP1 的 VS2008 编译器):
警告 C4146:一元减号运算符 应用于无符号类型,结果仍然 未签名
代码:
void f(int n)
{
}
int main()
{
unsigned int n1 = 9;
f(-n1);
}
但是由于函数 f 将其参数作为 int 不应该在没有任何警告的情况下编译这段代码吗?
【问题讨论】:
标签: c++ compiler-warnings unsigned