C 11无法解析嵌套名称空间
C++11 cannot resolve nested namespace
说我在 namespace Fooo
下在foo.h中创建一个类Foo
,如下:
foo.h:
namespace Fooo {
class Foo {
};
}
及其相应的源文件:
foo.cpp:
namespace Fooo {
Foo::Foo() {
}
}
i编写另一个源文件util.cpp
来为util.cpp中的Foo
类创建一些实用程序功能:
util.cpp:
namespace Fooo {
namespace util {
void helper() {
}
}
}
现在在main.cpp
中,当我致电Fooo::util::help()
时,编译器给我以下错误:
error: no member named 'util' in namespace 'Fooo'
对此有什么想法吗?对我来说真的很奇怪。
注意:我使用的是clang 3.6,带有-std = C 11支持。
您可能想在.h文件中声明助手,并将该文件包含在main.cpp中。
问题是汇编单元main.cpp尚未对此功能声明。就编译器而言,不存在此类功能。
最少,编译器需要知道需要什么参数,以便生成代码来调用它。
相关文章:
- 嵌套的匿名命名空间
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 嵌套命名空间的"using"指令,但需要命名内部命名空间
- Boost.Python :C++模板类型匹配的嵌套命名空间
- 如何访问嵌套在命名命名空间中的未命名命名空间变量?
- 是否可以在相同的命名空间中,但在不同的嵌套项目中定义具有相同名称的类
- 如何从嵌套在命名空间中的类调用成员函数?
- 使用 astyle 在一行上格式化C++中的嵌套命名空间
- 这个嵌套的名称空间定义有什么作用
- 为什么C 允许具有相同名称的嵌套名称空间
- 用于更简洁代码的嵌套命名空间
- C++嵌套的"命名空间""使用"名称查找首选项顺序
- 在嵌套名称空间范围中使用名称空间的正确方法
- 是否可以避免在前向声明中使用嵌套命名空间?
- C 使用名称空间嵌套的同一名称空间
- C++对名称空间和别名的混淆:没有嵌套和使用指令
- 正在使用未定义的嵌套 std 和 posix 命名空间
- C++嵌套类函数返回类型和命名空间
- 尽管包含头文件,但仍找不到嵌套命名空间
- C 11无法解析嵌套名称空间