上图中,是出错的一个例子,GroupType类型我们在程序中已经定义过了,TalkWindow()函数也已经实现了3个参数的函数重载。但是还是会报错。
原因:
就是,我们程序中的头文件进行了相互包含,会导致这种出错。
解决方式:
就是将相互包含的头文件,找到不要相互包含。
解决方式:
如果,头文件中只需要相应的头文件中的类型,而不需要类中内部的成员的时候,头文件中我们应该写这个头文件的声明,而不是导入这个类的头文件,否则会很容易出现头文件相互包含的问题。
当然,如果头文件中需要类中的成员,那就需要导入头文件了。
我们头文件中只需要对应的类型名,那么在头文件中就只需要写相应类的声明就可以,如果代码实现的时候需要类内部的成员,我们可以在源程序中导入对应类的头文件,这样不会出现头文件相互包含的情况。