namespace n1 {
namespace n2 {
...
int myfunc(void)
{
return 1;
}
class myclass {
..
};
}
}
我认为可以用这种方式定义一个函数,并从'myclass'及其派生词中访问它。但是gcc甚至不想编译这段代码:
multiple definition of `n1::n2::myfunc()'
此功能是这里唯一的功能,我缺少什么? 感谢。
答案 0 :(得分:9)
您需要标记函数inline
以避免违反一个定义规则,或将实现放在.cpp
文件中,并且只在标题中保留声明。