【发布时间】:2015-07-22 16:49:09
【问题描述】:
假设我在 namespace Fooo 下的 foo.h 中创建了一个类 Foo,如下所示:
foo.h:
namespace Fooo {
class Foo {
};
}
及其对应的源文件:
foo.cpp:
namespace Fooo {
Foo::Foo() {
}
}
我编写了另一个源文件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'
对此有什么想法吗?这对我来说真的很奇怪。
注意:我正在使用带有 -std=c++11 支持的 clang++ 3.6。
【问题讨论】:
-
附带问题:您还需要在头文件
foo.h中声明您的构造函数Foo();。
标签: c++ namespaces nested