如果你嵌套extern“C”会发生什么?

时间:2018-01-04 16:45:05

标签: c++ nested extern

看起来嵌套extern“C”是合法的。例如:

extern "C" extern "C" void foo();

第二个extern "C"基本上被忽略了。这是由C ++标准保证的吗?在哪里?

1 个答案:

答案 0 :(得分:26)

是的,但它实际上是被忽略的第一个extern "C"。引用标准[dcl.link]:

  

链接规范嵌套。当链接规范嵌套时,   最里面的一个决定了语言的联系。