我試圖讓一個包含其他兩個對象類,這些對象應保持一個指針,它們都包含在類中。對於多類依賴性
例如......(我只使用上對象實例變量,在最後的想象有一類非常相似的ClassB的)
這只是我的main.cpp,想我會包括它是徹底...
//Filename: main.cpp
#include "ClassA.hpp"
int main(int argc, char **args) {
ClassA *a = new ClassA();
// There would be some more here in the real code
return 0;
}
現在的在問題類...
//Filename: classA.hpp
#ifndef CLASSA_H
#define CLASSA_H
#include "ClassB.hpp"
class ClassA {
public:
ClassA() {
b = new B(this);
};
virtual ~ClassA();
private:
ClassB *b;
};
#endif //CLASSA_H
現在這裏是其它文件......
#ifndef CLASSB_H
#define CLASSB_H
#include "ClassB.hpp"
//Filename: classB.hpp
class ClassB {
public:
ClassB(ClassA *parent) {
this->parent = parent;
};
virtual ~ClassB();
private:
A *parent;
};
#endif //CLASSB_H
當我嘗試編譯此,我收到錯誤「錯誤:ClassA的沒有指定類型」,然後當然是「錯誤:''''''''之前'*'令牌「 我的猜測是這與他們包括彼此的東西?
(不知道它的問題,但在實際的代碼,功能的實現是在包括頭.cpp文件。這會做到這一點?)
現在它解決了......我部分錯過了Java。 –