刚开始为一堂课学习c++,我不知道这段代码有什么问题!我正在制作一个堆栈类,其中嵌套了一个名为 node 的辅助类,它充当链表。我得到的错误在第 12 行,是:
Stack.cpp:在析构函数“Stack::~Stack()”中:Stack.cpp:12:24:错误:请求“((Stack*)this) 中的成员“getNext” ->Stack::node”,属于非类类型“Stack::Node*”
这是我的代码:
#include "Stack.h"
Stack:: Stack ()
{
height = 0;
node = 0;
}
Stack:: ~Stack()
{
while(node != 0){
Node *next = *node.getNext();
delete node;
node = next;
}
node = 0;
}
这是我的头文件:
using namespace std;
class Stack
{
private:
int height;
class Node{
private:
int data;
Node* next;
public:
void setData(int x){
data = x;
}
void setNext(Node* x){
next = x;
}
int getData(){
return data;
}
Node* getNext(){
return next;
}
};
Node* node;
public:
Stack();
~Stack();
void push(int x);
int pop();
int peek();
int getHeight();
bool isEmpty();
};