Set*_*gie 7 c++ namespaces function-declaration
在这种情况下
namespace n {
void f() {
void another_function();
}
}
Run Code Online (Sandbox Code Playgroud)
该函数another_function应该在命名空间内n还是外部定义?VS 2012(11月CTP)表示应该在外面,Mac上的GCC 4.7.2表示应该在里面.如果我做错了,我会从链接器中得到未定义的符号错误.
我一般都相信GCC更符合标准,但这是C++,你永远不能确定.
AnT*_*AnT 11
C++ 11 3.5(以及C++ 03)
7当找不到具有链接的实体的块范围声明来引用其他声明时,该实体是最内层封闭命名空间的成员.但是,此类声明不会在其命名空间范围中引入成员名称.
您的示例中的声明声明n::another_function.
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |