在Visual Studio 2010中使用C ++ Native解决方案。
在所有包含之后, #pragma warning (push)
用于cpp文件的开头。之后,#pragma warning(disable : XXXX)
有几个禁用警告。
在文件末尾省略#pragma warning(pop)
会产生什么后果?
由于
答案 0 :(得分:2)
如果您有任何其他源文件#include
该cpp文件,那么编译外部文件时的警告状态将被搞砸 - 当警告得到保证时,它可能无法发出警告。
但请注意,#include
cpp文件被视为错误形式和代码气味;有一些罕见的情况可能是正确的事情(例如构建系统#include
许多源文件合并为一个以减少编译时间,有点像预编译头文件),但几乎总是这样这是错误的事情,即使它设法编译和链接没有错误。
如果该源文件在其他任何地方都不是#include
d,那么假设编译器没有首先抱怨这种不匹配,则不会产生#pragma warning(pop)
将不会产生任何不利后果。
答案 1 :(得分:1)
由于这是仅限编译器的设置,因此不会对程序本身产生任何影响。它可能会搞砸外部包含的警告。