Visual Studio 里如果把编译的警告级别设置得比较高,并且设置把所有的警告都当成错误来处理(即 Treat Warnings As Errors),则如果你的代码里包括有一些警告时,Visual Studio 会提示 Compiler Error C2220 的错误:

Error   1       error C2220: warning treated as error - no 'object' file generated

解决这个错误有三个办法:

  1. 处理掉警告信息,让警告信息不存在;
  2. 降低生成警告信息的级别,尽量不生成警告信息;
  3. 把 /WX 选项关闭,再重新编译。