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