我收到了一个警告:
In file included from /[myapplication]/[myfile].h:262:9: erreur: extra ‘;’ [-Wpedantic]
但是,我认为忽略pedantic
错误是违反ISO C / C ++规范的。这是真的吗?
编辑:我快速编辑,看到这里的Stack-West充满了快乐的人们:
using namespace my:name:space;
namespace my
{
namespace name
{
namespace space
{
class myclass
{
public:
[Lots of code like the one below]
/** [Comments] */
template<class T>
static bool
getServerProxy(const std::string & p_sServerName,
int p_iProxyInstanceID, shared_ptr<T> &p_ServerProxy)
{
return getServerProxy(p_sServerName, -1, p_iProxyInstanceID,
p_ServerProxy);
}
; // Pedantic Error Shown here
[Lots of code like the one up there]
};
}
}
}
答案 0 :(得分:2)
然而,我认为忽略迂腐错误是违反ISO的 C / C ++规范
这里似乎有些混乱。让我试着把它分解成个别的误解并清除它们:
没有C / C ++ ISO规范,因为它们是两种不同的语言,每种语言都有自己的ISO标准:
C ++和C标准不区分警告和错误。在某些有问题的代码的情况下标准所要求的内容称为&#34;诊断消息&#34;。此消息的外观未指定,因此是实施质量问题。这意味着:
忽略错误不能违反ISO规范。您的代码可能违反ISO规范,或者您的编译器(更确切地说,您使用某组选项调用的编译器)可能违反ISO规范。 ISO标准是否重要是您自己的决定。规范是达到目的的手段。当然,如果您的目标是长期兼容性和跨平台软件,那么符合ISO标准肯定是个好主意。通过使用-Wpedantic
,您已经有效地下定决心:ISO规范 对您很重要,因此您可以更好地修复代码。