我有一個問題,在TwoDimTree.h中Rectangle類不能正常工作 例如, 「Rectangle Extent;」看起來像工作,但是當我嘗試使用它說它沒有找到成員類。使用未定義的類型C++,類
我想使用它像「Extent.get_Top;」 ,但我無法做到。
也在我得到的錯誤列表。 錯誤7錯誤C2027:使用未定義類型'矩形'
我的標題是below.I真的找不到我的錯誤。感謝您的幫助。
我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;
};
你看看要創建一個通用的鏈表,但你硬編碼它有'check_Rectangle'(爲什麼非矩形列表需要這個?)和朋友類的矩形包含屬性。事實上,我會檢查你需要這麼多的朋友。你的'search'函數也返回所包含對象的一個副本。 –
我正在使用該程序只能找到矩形。 –