我有一个在我的 C++ 程序中命名的树结构类SuperTree
,我希望它有一个实例方法,该方法返回一个struct
或pair
其中一个属性是指向SuperTree
对象的指针。
insert
我的类中的函数SuperTree
应该返回一个Res
结构,其中包含对另一个SuperTree
对象的引用和一个布尔值。但是,如果我尝试编译代码,则会收到以下错误消息:
supertree.cpp:24: error: ISO C++ forbids declaration of ‘Res’ with no type
我也不能Res
在我的课之前定义结构,SuperTree
因为它也不会编译。也许这是 C++ 泛型类型或其他东西(我还不知道如何使用)的情况。
所以这是我的尝试:
#include <cstdio>
#include <utility>
using namespace std;
class AVL {
public:
int key;
int bf;
AVL* leftChild;
AVL* rightChild;
AVL()
{
}
~AVL() {};
AVL rotateLeft();
AVL rotateRight();
Res* insert(int value);
int remove();
int size();
};
// typedef pair<AVL, bool> result;
typedef struct result {
struct AVL *avl;
bool changed;
} Res;
请注意,pair
定义已被注释掉,但是你们也可以为他们回答,我很高兴!
就是这样,我怎样才能在我的类中同时拥有SuperTree
类和Res
结构以及Res
指针返回函数SuperTree
?
欢迎任何帮助。谢谢!