将Typedef语句放入类链接链接列表中的C 错误
C++ error when putting typedef statements inside class for doubly linked list
我正在实现双重链接列表。
我班上有3个Typedef语句。
编译时,我会收到错误"'引用'不命名类型"。如果我将它们移到我的含义语句中,则此错误消失了,但出现了新错误,例如在我的主范围中未声明"节点"。我不确定这些Typedef语句中的每一个都需要去哪里,以使我的程序正常运行。我还包括默认构造函数。
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
class linkedlist
{
public:
typedef int element_type;
typedef element_type& reference;
typedef const element_type& const_reference;
linkedlist();
~linkedlist();
bool empty() const;
void clear();
reference back();
const_reference back() const;
reference front();
const_reference front() const;
linkedlist& operator=(const linkedlist& l);
void pop_back();
void pop_front();
void push_back(const element_type& x);
void push_front(const element_type& x);
void sort();
explicit linkedlist(unsigned int n);
void check() const;
void rcheck() const;
private:
struct Node
{
element_type elem;
Node* next;
Node* prev;
};
Node* head;
Node* tail;
int size;
};
linkedlist::linkedlist()
{
head = new Node;
tail = new Node;
head->next = tail;
head->prev = NULL;
tail->next = NULL;
tail->prev = head;
size = 0;
}
...
我对您有部分答案:如果您的reference
在类内定义,则需要在成员函数定义的返回类型中的类名中包含类名称。。例如
linkedlist::reference linkedlist::back(){/*...*/}
我无法猜测为什么Node
也是一个问题,因为您不使用它显示任何代码。
相关文章:
- 从链接列表c++中删除一个项目
- 读取文件的最后一行并输入到链接列表时出错
- 下面是我为检测链接列表中的循环而制作的代码
- 有人能帮我处理这个链接列表吗?C++
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 链接列表运算符重载没有打印出我想要的内容
- 链接列表在 cpp 中包含不同的对象类
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 如何在构建链接列表时调整头、尾指针
- Shared_ptr双链接列表内存泄漏
- 为什么每当我尝试运行此链接列表删除功能时都会收到分段错误错误?
- 在链接列表中查找元素 - C++
- 删除链接列表中剩余的最后一个节点
- 只有我的"链接列表"中的第一个节点正在打印
- 避免在使用链接列表从 deque 中删除最后一个节点时出现内存泄漏
- C++ 分段错误:11 错误,同时编码将两个数字相加的链接列表
- 如何在C / C++中正确实现链接列表而不会使程序崩溃
- 将元素插入链接列表