我有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之外不需要其他任何東西。 –