我的任务是删除其中一个项目中的所有警告。 在代码中的一个地方,我有以下几行。
dims[0] = children.size();
如果dims为' int '数组且子项为'向量',则size_t
将分配给int
。我正在VS2015
上编译此代码。
理想情况下,上述作业应生成警告
"C4267: '=': conversion from 'size_t' to 'int', possible loss of data"
但我没有得到任何此类警告。所以代码中没有警告。
现在,我使用“/we4267
”将警告 4267 转换为错误,然后开始获取上述行的错误。
我很困惑为什么编译在第一时间没有显示任何警告。
感谢大家的帮助。
答案 0 :(得分:0)
我发现当添加/ WX编译器选项时,会抑制一些警告,在我的情况下为C4267。添加编译器选项/ WX / Wall或将它们全部一起删除会显示错误/警告C4267。在我的情况下,我在其他模块中遇到错误,因为没有警告相关的编译器选项添加但是我没有得到C4267警告的模块,有编译器选项/ WX。
它只是没有关于此的文件(或者可能是我找不到)。