C++ 对象作为另一个类的方法的返回类型
有人能给我一个示例代码,其中我有一个类对象,它是另一个类的方法的返回类型吗?我尝试通过在方法前面简单地提到类名来实现它,但是出现了一个错误,说不是有效的类型C++ 对象作为另一个类的方法的返回类型,c++,class,C++,Class,有人能给我一个示例代码,其中我有一个类对象,它是另一个类的方法的返回类型吗?我尝试通过在方法前面简单地提到类名来实现它,但是出现了一个错误,说不是有效的类型 typedef struct Point { int x,y; }Point; class Node { public: int posX; int posY; int width; int height; Node *child[4]; Point a
typedef struct Point
{
int x,y;
}Point;
class Node
{
public:
int posX;
int posY;
int width;
int height;
Node *child[4];
Point array[100];
}Node;
class quadtree
{
public:
void setnode(Node *xy,int x,int y,int w,int h);
Node buildtree(Node* n);
void printtree(Node* n,int depth);
void deletetree(Node* n);
Node *BuildNode(Node* n, Node *nParent, int index);
static int pointArray_size(Node *n);
//Node *rootNode ;
int randn();
quadtree();
~quadtree();
friend class Node;
};
以上是相关部分,而不是全部代码。我正在尝试将原本是结构的节点更改为类。我不知道如何做
class Node
{...} Node;
这里您正在创建名为Node
的Node
实例。然后在函数原型/定义中使用节点
,就好像它是一个类型,而不是一个类型。也许你想typedef
这个类:
typedef class Node {...} Node;
<>但是,C++中不需要一个<代码> TyPulf< /Cuff>,因为类名称不需要前缀“代码>类< /COD>”或“代码>结构> <代码>。只需使用类名:
class Name {...};
这里您正在创建名为Node
的Node
实例。然后在函数原型/定义中使用节点
,就好像它是一个类型,而不是一个类型。也许你想typedef
这个类:
typedef class Node {...} Node;
<>但是,C++中不需要一个<代码> TyPulf< /Cuff>,因为类名称不需要前缀“代码>类< /COD>”或“代码>结构> <代码>。只需使用类名:
class Name {...};
你是否提前声明了这个类或者包含了正确的头?请告诉我们你有什么代码。@ PopkPANTER除了这个数字没有特殊含义:)<代码> TyPulf类…< /Cord>在C++中是无用的,并且你有一个全局对象<代码>节点< /代码>,和类同名,对不起,克里斯,但是我对C++是新的……那么我该如何解决我的问题??你是否提前声明了这个类或者包含了正确的头?请告诉我们你有什么代码。@ PopkPANTER除了这个数字没有特殊含义:)<代码> TyPufFr.Cype…<代码>在C++中是无用的,你有一个全局对象。
节点
与类同名,对不起,克里斯,但我对C++是新的……那么我该如何解决我的问题?……哦,礼仪…谢谢你解决了这个问题……正如你说的,我正在尝试TyPuff并把它弄得一团糟……哦,谢谢。很好地解决了这个问题……正如你说的,我正在尝试TyPuff并把它弄得一团糟…