namespace n1 {
namespace n2 {
...
int myfunc(void)
{
return 1;
}
class myclass {
..
};
}
}
我认为可以这样定义一个函数,并从“myclass”及其派生类访问它。然而 gcc 甚至不想编译这段代码:
multiple definition of `n1::n2::myfunc()'
这里只有这个功能,我错过了什么? 谢谢。
最佳答案
您需要将函数标记为 inline
以避免破坏单一定义规则,或者将实现放在 .cpp
文件中,并且只保留声明在标题。
关于c++ - 在命名空间中定义一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19103353/