2

C++ 规范(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf,第 7.5.4 节)指出

链接规范应仅出现在命名空间范围内

“命名空间范围”到底是什么意思?这是否意味着链接规范,例如extern "C"不能在全局范围内,只能在命名空间中?
“命名空间范围”到底是什么意思?

4

1 回答 1

2

这意味着,这extern "C"应该只在命名空间范围内(而不是类范围、块范围等)。不在命名空间中但在全局范围内的东西 - 在全局命名空间范围内。

由原始名称空间名称表示的潜在范围是由同一声明区域中的每个名称空间定义与该原始名称空间名称建立的声明区域的串联。

于 2013-10-23T12:10:27.797 回答