问题描述:
在用Visual Studio 2013写程序时,将一个负数赋值给int导致编译错误:error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型。
原因:
工程 -> 属性 -> C++ -> 常规 -> SDL检查,设置为否,重新编译即可。
SDL:
Security Development Lifecycle,安全开发生命周期检查,微软在VS2012新推出的东西,为了能更好的监管开发者的代码安全,如果勾选了这一项则将严格按照SDL的规则编译代码,会有一些以前常用的函数无法通过编译。