错误:请求成员…在. .它是非类类型的
Error: request for member ... in ... which is of non-class type
刚开始学习c++的课程,我不知道这段代码有什么问题!我正在制作一个堆栈类,其中嵌套了一个助手类,称为节点,充当链表。我得到的错误在第12行,是:
Stack.cpp:在析构函数€˜栈::~堆栈()€™:Stack.cpp:十二:错误:要求成员一个€˜getNexta€™在€˜(堆栈(*))->堆栈::nodea€™,非类类型的一个€˜栈::节点*€™
下面是我的代码:
#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();
};
Node *next = *node.getNext();
应该Node *next = (*node).getNext();
由于.
的运算符优先级高于*
的遵从运算符。
你也可以使用:
Node *next = node->getNext();
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 为什么 std::optional::operator=(U&&) 要求你是非标量类型?
- 是否可以在C++中有一个"generic"模板参数,该参数可以是非类型模板参数或类型?
- 为什么带有指针子对象的文字类类型的 constexpr 表达式不能是非类型模板参数
- 错误:请求成员 .. 是非类类型"char"
- 请求成员 'begin' in 'c' 中,它是非类类型 'char [101]' sort(c.begin(), c
- 为什么类的赋值运算符的返回类型通常是非常量(而不是常量)引用?
- 请求成员“写入”中的“chol_out_data”,这是非类类型
- C 要求成员''in'',该请求是非类型的“”
- 非分解功能类型可以是非类型参数
- C++:成员'的错误请求;Foo'在'f',其是非类类型'Foo*'
- 结构是非文本类型
- 请求以"y"表示的成员'print',这是非类类型
- Haskell相当于C++模板而不是非类型
- char* 具有内部链接,因此它不能不是非类型模板参数
- 请求会员是非类类型
- 错误:请求成员…在. .它是非类类型的
- 在c++中,可迭代类型应该是非多态的
- 错误:请求成员' end ' ..它是非类类型' double '