This question already has answers here:
Circular Dependency in C++
(5个答案)
7年前关闭。
我有
这是我简化的代码:
myclassa.h
myclassb.h
myclassa.cpp
myclassb.cpp
我该如何解决错误?
(5个答案)
7年前关闭。
我有
myclassA
和myClassB
。我想将ClassA
对象传递到ClassB
的构造函数中。因此我将A
的 header 包含在B
中,而B的 header 包含在A
中,但出现此错误'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
}
我该如何解决错误?
最佳答案
您需要在class myclassB;
中声明myclassa.h
。
09-11 20:52