node *temp;
temp->dataItem = newPassenger;
if(size == 0)
{
Head = temp;
Tail = temp;
}
else
{
Tail->nextNode = temp;
Tail = temp;
}
size++;
我需要帮助,因为VS一直说temp
没有初始化,我对C ++几乎没有经验。我的节点类如下
#include "passenger.h"
#pragma once
class node
{
public:
node();
passenger dataItem;
node * nextNode;
};
答案 0 :(得分:1)
node *temp = new node;
temp->dataItem = newPassenger;
if(size == 0)
{
Head = temp;
Tail = temp;
}
else
{
Tail->nextNode = temp;
Tail = temp;
}
size++;
答案 1 :(得分:1)
您应该阅读更多介绍性的C ++书籍。这通常很早就被覆盖了。
你应该写
node *temp = new node;
这将为内存中的节点保留空间。当你完成这个节点时,你应该写
delete temp;
您必须确保不要删除两次,因为这会导致程序崩溃。
答案 2 :(得分:0)
node *temp;
temp->dataItem = newPassenger;
如果上面的代码真的是你的代码,那么编译器非常正确 - 你在没有初始化它的情况下引用temp
。你可能想要这样的东西:
node* temp = new node;
temp->dataItem etc...