我有myclassA
和myClassB
。我想将一个ClassA
对象传递给ClassB
的构造函数。因此,我包括的A
头到B
和B的头球为A
,但我得到这个错误classX'没有指定类型
'myclassB' does not name a type
这里是我的简化代码:
myclassa.h
#ifndef XMLHANDLER_H
#define XMLHANDLER_H
#include "mainwindow.h"
#include "myclassb.h"
class myclassA{
public:
myclassA();
private:
myclassB *mb;
};
#endif // XMLHANDLER_H
myclassb.h
#ifndef CLASSB_H
#define CLASSB_H
#include "myclassa.h"
class myclassB{
public:
myclassB(myclassA *newclass);
~myclassB();
};
#endif // CLASSB_H
myclassa.cpp
#include "myclassa.h"
myclassA::myclassA(){}
myclassb.cpp
#include "myclassb.h"
myclassB::myclassB(myclassA *newclass)
{
//do something
}
我如何修正这个错误?
重复数百次以上。 –
myclassb.h不应该包含myclassa.h,并且应该只包含myclassA的前向声明,因为它只使用一个指针,除了声明的类型A之外不需要其他任何东西。 –