Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 成功编译格式错误的程序是否符合标准?_C++_Language Lawyer - Fatal编程技术网

C++ 成功编译格式错误的程序是否符合标准?

C++ 成功编译格式错误的程序是否符合标准?,c++,language-lawyer,C++,Language Lawyer,编译器使用诊断消息生成已编译的二进制文件,而不是像g++/clang++那样中断编译,这符合标准吗 合规性介绍指出: 如果程序违反了任何可诊断规则或 本标准中所述结构的出现情况如下: 实现不支持时的“有条件支持” 对于该构造,一致性实现应至少发布一个 诊断信息 在这种情况下不需要编译错误 可能相关: 是的,当输入是格式错误的程序时,实现生成二进制文件是合法的。下面是C++14中的[intro.compliance]/8: 一致性实现可能具有扩展(包括附加的库函数),前提是它们具有扩展 不改

编译器使用诊断消息生成已编译的二进制文件,而不是像g++/clang++那样中断编译,这符合标准吗

合规性介绍指出:

如果程序违反了任何可诊断规则或 本标准中所述结构的出现情况如下: 实现不支持时的“有条件支持” 对于该构造,一致性实现应至少发布一个 诊断信息

在这种情况下不需要编译错误

可能相关:


是的,当输入是格式错误的程序时,实现生成二进制文件是合法的。下面是C++14中的[intro.compliance]/8:

一致性实现可能具有扩展(包括附加的库函数),前提是它们具有扩展 不改变任何格式良好的程序的行为。需要实现来诊断以下程序: 根据本国际标准,使用格式不正确的扩展。然而,在这样做之后, 他们可以编译和执行这样的程序

在这种情况下,诊断通常被称为“警告”(与“错误”相反)