【发布时间】:2013-07-30 22:49:22
【问题描述】:
我必须在类头中有一个结构“configset”,如下所示:
class A {
public:
static configset *getnext();
}
当然编译器会抱怨 configset 不是一个类型,但它是在另一个头文件中实现的,以及一些函数。因此,我不能只包含那个头文件,编译器会抛出这些函数被多次定义的错误。但是我怎样才能在我的类头中获取配置集?仅仅复制也不行,因为编译器会抛出一个结构被定义两次的错误。
【问题讨论】:
-
多次包含一个文件应该没问题。如果编译器说函数被定义了多次,那意味着你的头文件设计得不好。 (A) 将函数 defintitions(不是声明)移动到 cpp 文件中,或 (B) 将函数标记为
inline。