C++ 为什么我会收到这个布拉格语的C4081警告?

C++ 为什么我会收到这个布拉格语的C4081警告?,c++,visual-c++,warnings,C++,Visual C++,Warnings,我习惯于删除代码中报告的所有警告。如果可能的话,我喜欢干净的身材。我曾经 #pragma comment(lib,"some.lib"); 我得到这个警告: 警告c4081:应为“换行符”;找到“;” 我不确定这为什么会产生警告。可以帮我取下它吗 #pragma warning(disable: 4081) 将禁用警告。但是,除非注释的语法错误,否则我无法重新编写警告 #pragma comment(lib "some.lib") 给我警告4081但是 #pragma comment(l

我习惯于删除代码中报告的所有警告。如果可能的话,我喜欢干净的身材。我曾经

#pragma comment(lib,"some.lib");
我得到这个警告:


警告c4081:应为“换行符”;找到“;”

我不确定这为什么会产生警告。可以帮我取下它吗

#pragma warning(disable: 4081)
将禁用警告。但是,除非注释的语法错误,否则我无法重新编写警告

#pragma comment(lib "some.lib") 
给我警告4081但是

#pragma comment(lib, "some.lib") 
没有

您的警告信息的文本是什么


编辑:我现在明白了,忘记添加#pragma警告,只需删除;从注释行的末尾开始。这是一个语法错误。

您可以有选择地临时禁用以下所有警告:

#pragma warning(push, 0)        

#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/convenience.hpp>
#include <boost/program_options.hpp>
#include <boost/foreach.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
#include <boost/bind.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/iostreams/filter/zlib.hpp>
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/device/back_inserter.hpp>

#pragma warning(pop)

您没有提到编译器的类型和版本,但我认为您需要在第二个参数()中添加名称,而不使用“.lib”(

这是一行末尾的分号。
#pragma
不需要它

编辑:警告说明了一切:在pragma的末尾应该有一个换行符,但找到了一个分号


使用VS2008测试

警告c4081:预期为“换行”;找到“;”这是我收到的警告之一。@user245823:请将此添加到您的问题中。这是一个非常糟糕的解决方案。如果不喜欢你的错误,就禁用它们。不要担心它们的意思,如果你不理解它们,就把它们扔掉吧!警告的存在是有原因的。在他的例子中,他可能错放了分号。在其他情况下,它可能是关于误判的警告。隐藏错误并不意味着编译器不会有问题。@Daniel Goldberg:我不是说总是隐藏警告。请不要在我的回答中暗示这一点。我只是说,这是一种可能性,当你无法摆脱警告,这不是你的错。例如,您可能有不允许更改的boost头文件。
#pragma warning( push )
#pragma warning( disable : 4081)
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop )