链表Front()函数语法错误
Linked List Front() function syntax error
我试图在我的链表类的Front()方法中返回一个节点。front方法只返回链表中的第一个元素(即它是一个节点)。然而,编译器不喜欢这样。它给了我以下错误:
Error: initial reference value of reference to non-const must be an lvalue.
有谁知道这个方法吗??
Node &List::Front()
{
return mHead->getData();
}
Potion Node::getData()
{
return mData;
}
list.h
#ifndef LIST_H
#define LIST_H
#include "node.h"
#include "potion.h"
class List
{
public:
//Default constructor
List();
//Copy constructor
List(const List & copy);
//Overloaded assignment operator
List &operator=(const List & rhs);
//Destructor
~List();
//Methods
void PushFront(Node * newNode);
void PushBack(Node * newNode);
void PopFront();
void PopBack();
/*const Potion &Front() const;
const Potion &Back() const;*/
Node &Front();
Node &Back();
void Purge();
bool empty();
int getNumberOfNodes();
Node * CreateNode(Potion potion);
void Save(std::ofstream & file);
void Load(std::ifstream & file);
protected:
//Data members
Node * mHead;
Node * mTail;
static int mNumberOfNodes;
};
#endif
我猜您的getData()
函数返回数据的副本而不是引用。临时对象不是lvalue
。
相关文章:
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 我该怎么做才能摆脱使用命名空间时的语法错误?
- 如何摆脱错误c2061;语法错误 cout?
- 语法错误:D3DX10Core 中的标识符'TEXTMETRICA'
- 错误 C2146:语法错误:标识符"A1"之前缺少","
- main.cpp(11):错误 C2059:语法错误:"字符串"
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 如何修复此 FSM C++语法错误 C3867
- 函数错误 C2059:语法错误:'>'不起作用
- 为什么在main()之前断言会导致语法错误"error: expected ')' before numeric constant"?
- c++default-int中的语法错误
- "pip install openexr"上的语法错误:错误的编译器?
- 为什么我收到语法错误:在"*"之前缺少";"
- 错误 C2059:语法错误:从结构成员声明'constant'
- C++语法错误,编译器不会警告或 int v = func(&v) 出错;
- 我正在调试这个C++程序.编译器不再显示语法错误,但存在隐藏的逻辑错误