Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果你在外部筑巢会发生什么;C";?_C++_Nested_Extern - Fatal编程技术网

C++ 如果你在外部筑巢会发生什么;C";?

C++ 如果你在外部筑巢会发生什么;C";?,c++,nested,extern,C++,Nested,Extern,看起来嵌套外部“C”是合法的。例如: extern "C" extern "C" void foo(); 第二个外部“C”基本上被忽略。这是由C++标准保证的吗?在哪里?是的,但实际上它是第一个被忽略的外部“C”。引用标准[dcl.link]: 链接规格嵌套。当链接规范嵌套时 最里面的一个决定了语言的联系 你赢了我;)对不起,我回答了我自己的问题。:)我需要名声!厌倦了不能投票或发表评论。ROFL!对你有好处@在这种情况下,你可以在发布答案的同时发布问题。在问题填写页面的底部应该有一个额外的框

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

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

第二个
外部“C”
基本上被忽略。这是由C++标准保证的吗?在哪里?

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

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


你赢了我;)对不起,我回答了我自己的问题。:)我需要名声!厌倦了不能投票或发表评论。ROFL!对你有好处@在这种情况下,你可以在发布答案的同时发布问题。在问题填写页面的底部应该有一个额外的框来填写答案。@Ashe the human如果你说的“info”是指我发布的答案,那么也许我可以解释这个问题的动机:我使用的预处理器宏导致了嵌套的外部“C”,我很好奇这是否合法。