小编Imh*_*tep的帖子

C++自定义模板LinkedList崩溃添加std :: string

出于学术目的,我正在尝试开发一些"文本冒险游戏".我必须自己实现所有数据结构.现在,我在实现通用(模板)LinkedList时遇到了一些问题.

具体来说,这个数据结构适用于所有(原始数据类型和自定义对象)但字符串!(标准库字符串).

当我尝试将字符串添加到列表时,应用程序崩溃并出现以下错误(在控制台中):

"在抛出'std :: logic_error'的实例后调用终止what():basic_string :: _ S_constructor null无效"

该列表使用头节点作为第一个最后一个节点实现为"双链表"

这里的代码("Abstract"List接口):

#ifndef LIST_H_
#define LIST_H_

template <class T>
class List
{
public:
 virtual ~List() {}
 virtual T get(int position) = 0;
 virtual List* add(T item) = 0;
 virtual List* insert(T item, int position) = 0;
 virtual List* remove(int position) = 0;
 virtual int size() const = 0;
 virtual bool isEmpty() const = 0;

protected:

private:

};

#endif /* LIST_H_ */
Run Code Online (Sandbox Code Playgroud)

这是LinkedList实现("节点"类):

#include "List.h"
#include <stdlib.h>

#ifndef LINKEDLIST_H_
#define LINKEDLIST_H_ …
Run Code Online (Sandbox Code Playgroud)

c++ string list nodes

0
推荐指数
1
解决办法
784
查看次数

标签 统计

c++ ×1

list ×1

nodes ×1

string ×1