【问题标题】:How does one implement a function from a namespace?如何从命名空间实现一项功能?
【发布时间】:2011-08-09 04:28:00
【问题描述】:
基本上,这是我的源代码。
namespace name {
int func (void);
}
int main (void) {
name::int func (void) {
//body
}
return 0;
}
现在,我想在不同的地方编写在命名空间中声明的函数。
【问题讨论】:
标签:
c++
function
namespaces
implementation
【解决方案1】:
你不能像这样在另一个函数中定义函数。有两种选择:
重新打开命名空间,并在其中定义函数:
namespace name {
int func() {
// body
}
}
在命名空间之外(以及任何函数或类定义之外),使用它的完全限定名称来定义它:
int name::func() {
// body
}
【解决方案2】:
您不能在 C++ 中的函数内部定义函数。
这行得通
namespace name {
int func (void);
}
int name::func (void) {
//body
}
int main (void) {
return 0;
}