【发布时间】:2018-01-04 16:45:05
【问题描述】:
看起来嵌套 extern "C" 是合法的。例如:
extern "C" extern "C" void foo();
第二个extern "C" 基本上被忽略了。这是由 C++ 标准保证的吗?在哪里?
【问题讨论】:
看起来嵌套 extern "C" 是合法的。例如:
extern "C" extern "C" void foo();
第二个extern "C" 基本上被忽略了。这是由 C++ 标准保证的吗?在哪里?
【问题讨论】:
是的,但它实际上是第一个被忽略的extern "C"。引用标准[dcl.link]:
联动规范嵌套。当联动规范嵌套时, 最里面的一个决定了语言链接。
【讨论】: