我试图实现一个链表数据类型的小样本。我创建了一个包含值的struct Node,一个跟踪所有节点的struct List(以链表格式)。最后一个类,它是两个结构的一般数据类型。
当我运行程序时,一旦到达该步骤,我总是遇到段错误错误: item-> link [i ++] = new Node(input)
代码:
struct Node
{
int val;
Node();
Node(int x);
};
struct List
{
Node *link[20];
List();
};
class pol
{
public:
void read_txt(ifstream &file);
private:
List *item;
};
void pol::read_txt(ifstream &file)
{
int input, i;
i = 0;
file >> input;
cout << "Value read from the file: " << input << endl;
while(input != 0)
{
item.link[i++] = new Node(input);
file >> input;
cout << "Value read from the file: " << input << endl;
}
}
我要做的是,创建一个新的节点,其值为“input”,这是我从阅读文件中获得的。接下来,我想创建一个连接所有节点的链表。
答案 0 :(得分:2)
成员item
永远不会被初始化。据我所知,没有理由将其作为指针。只需将其List item;
。