【发布时间】:2014-01-17 15:07:15
【问题描述】:
我有一个这样的类声明:
// bar.h
namespace foo {
class bar {
// members both public and private
}
}
当我定义类时,我想这样做
// bar.cpp
namespace foo::bar {
// member definitions
}
而不是
namespace foo {
bar::x() {}
bar::y() {}
bar::z() {}
}
但我不能。为什么是这样?我认为类声明了命名空间,但我一定是错的。作用域运算符不应该先解析命名空间作用域,然后再解析类作用域吗?
我问是因为任何时候你有一个非平凡长度的类名,重新输入类名可能会变得非常重复,特别是如果它有多个成员。可能是这样让人定义小类接口的吧。
【问题讨论】:
-
您在
bar定义中缺少结束;。
标签: c++ class namespaces