看起来嵌套extern“C”是合法的。例如:
extern "C" extern "C" void foo();
第二个extern "C"基本上被忽略了。这是由C ++标准保证的吗?哪里?
extern "C"
是的,但它实际上是第一个被忽略的extern "C"。引用标准[dcl.link]:
链接规范嵌套。当链接规范嵌套时,最里面的规则确定语言链接。