Leo*_*eon 0 c++ linkage language-lawyer c++14
§3.5[basic.link]/3(我的重点):
具有命名空间作用域(3.3.6)的名称具有内部链接(如果它的名称)
(3.1) - 显式声明为static的变量,函数或函数模板; 要么,
(3.2) - 一个非易失性变量,显式声明为const或constexpr,既未显式声明为extern,也未声明为具有外部链接 ; 要么
(3.3) - 匿名工会的数据成员.
我认为(3.2)中粗体字符中的短语是多余的,除非有人能给出一个显式声明const
但未声明的变量的例子extern
,以及之前声明external linkage
的变量,以及结果变量具有的变量external linkage
.
小智 5
这很简单:
extern const int i; // typically in header file
const int i = 0; // typically in source file
Run Code Online (Sandbox Code Playgroud)
你问题中的句子确保这里没有冲突.第二个声明没有指定不同的不兼容链接,它只是继承了前一个声明中的链接,而它是你问题中实现这一点的单词.