在this网站上,有以下段落:
只有在声明之后,才可以在名称空间范围内,并且仅在包含原始名称空间(包括全局名称空间)[]的名称空间中使用超出名称空间的定义和重新声明,并且它们必须使用合格的- id语法(自C ++ 14起)]
我使用[]来分隔(since C++14)
构造所引用的部分。
我的问题是,如果不必使用qualified-id syntax
,在C ++ 14之前如何进行命名空间外的定义?
我查看了C ++ 11标准草案,发现以下内容:
也可以通过显式限定(3.4.3.2)在该命名空间之外定义命名命名空间的成员。 定义的名称的名称,前提是所定义的实体已在名称空间中声明 并且定义出现在声明点之后的命名空间中,该命名空间将声明的 命名空间。 [...]
qualified-id syntax
和explicit qualification
之间有区别吗?
谢谢。