我遇到问题,Rectangle类在TwoDimTree.h中无法正常工作 例如, “矩形范围;”似乎工作,但当我尝试使用它时,它说没有找到成员类。
我想像“Extent.get_Top”一样使用它,但我无法做到。
同样在我得到的错误列表中。 错误7错误C2027:使用未定义类型'Rectangle'
我的标题在下面。我真的找不到我的错误。谢谢你的帮助。
My TwoDimTree.h
#include <string>
#include "Rectangle.h"
#include "LinkedList.h"
using namespace std;
class TwoDimTreeNode
{
public:
TwoDimTreeNode(Rectangle,TwoDimTreeNode*,TwoDimTreeNode*,TwoDimTreeNode*,TwoDimTreeNode*,LinkedList<Rectangle>,LinkedList<Rectangle>);
TwoDimTreeNode(Rectangle);
Rectangle get_Extent();
private:
Rectangle Extent;
LinkedList <Rectangle> Vertical;
LinkedList <Rectangle> Horizontal;
TwoDimTreeNode*TopLeft;
TwoDimTreeNode*TopRight;
TwoDimTreeNode*BottomLeft;
TwoDimTreeNode*BottomRight;
friend class Rectangle;
friend class LinkedList<Rectangle>;
};
我的Rectangle.h
#include <string>
#include "TwoDimTreeNode.h"
#include "LinkedList.h"
using namespace std;
class Rectangle {
public:
Rectangle(int,int,int,int);
int get_Top();
void set_Top(int);
private:
int Top;
int Bottom;
int Right;
int Left;
friend class TwoDimTreeNode;
friend class LinkedList<Rectangle>;
};
我的Linkedlist.h
#include <string>
#include "Rectangle.h"
#include "TwoDimTreeNode.h"
using namespace std;
template <class Object>
struct node
{
Object element;
node*next;
node(const Object & theElement = Object(),node*n=NULL)
:element(theElement), next(n){}
friend class Rectangle;
friend class TwoDimTreeNode;
};
template <class Object>
class LinkedList
{
public:
LinkedList();
int get_Length();
Object search(int,int);
bool check_Rectangle(Object);
private:
int length;
node<Object>*head;
};
答案 0 :(得分:1)
你有一个循环包含。 Rectangle.h包括twodimtree。 twodimtree包括矩形
净效果是TwoDimTree是第一个进程,并且引用了尚未定义的Rectangle
从矩形中删除包含twodimtree