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

问题描述 投票:8回答:1

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

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

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

c++ nested extern
1个回答
26
投票

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

链接规范嵌套。当链接规范嵌套时,最里面的规则确定语言链接。

© www.soinside.com 2019 - 2024. All rights reserved.