2
的extern DECL说明符考虑下面的程序:计划在一个类定义
extern class A;
int main() {}
是根据C++标准的这口井,形成的呢?如果它不合格需要诊断程序?我得到不同的编译器不同的结果:
- 锵:没有编译器错误(仅警告):http://melpon.org/wandbox/permlink/lhb8XNU01IyVhMnc
- GCC:编译错误:http://melpon.org/wandbox/permlink/mIH9qmNY4noI1sEc
- VISUAL C++:没有编译器错误(只是一个警告):http://webcompiler.cloudapp.net/
供应商通常将警告定义为诊断。就标准兼容性而言,将编译器消息分类为错误和警告(或编译器可能发出的任何其他内容)是毫无意义的。 –
是的,你是对的,带有pedantic错误,我为Clang和GCC都收到了错误。 – Supremum
Clang还提供'-Weverything'而GCC则不提供。 – Chnossos