Visual c++ 如何使用c+中的整数变量从链表中删除节点+;
在我的项目中,我正在创建一个链表。目前,我正在制作一个函数,根据用户输入的编号,根据节点的位置删除节点。这个函数的问题是,每次我尝试运行程序时,我的一个变量pnode总是作为未初始化的局部变量列出。下面是代码的样子Visual c++ 如何使用c+中的整数变量从链表中删除节点+;,visual-c++,linked-list,int,delete-operator,Visual C++,Linked List,Int,Delete Operator,在我的项目中,我正在创建一个链表。目前,我正在制作一个函数,根据用户输入的编号,根据节点的位置删除节点。这个函数的问题是,每次我尝试运行程序时,我的一个变量pnode总是作为未初始化的局部变量列出。下面是代码的样子 Class list{ private: struct nodelist{ int hold; nodelist *next }; nodelist *head public: void deleteitem(int n){
Class list{
private:
struct nodelist{
int hold;
nodelist *next
};
nodelist *head
public:
void deleteitem(int n){
nodelist *nodepr
nodelist *pnode
if(!head){
return;
}
if(n==0){
nodepr=head->next;
delete head;
head=nodepr;
}
else{
nodepr=head;
int index=1;
while(nodepr!=NULL && index!=n){
pnode=nodepr;
nodepr=nodepr->next;
index++;
}
if(index==n){
pnode->next=nodepr->next;
delete nodepr;
}
}
}
请注意,它们是此类的其他函数。在哪里定义变量
num
?在if(num==0)
行中,假设读取if(n==0)
?它应该是n变量sorry@user2340686对于num=1
,代码显示未定义的行为,因为pnode
未初始化。您能显示列表是如何填充的吗?有不平衡的{}
。修复您的代码,使其通过编译器。重新格式化也会有所帮助。正确缩进,删除多余的空行,您就会丢失代码>->编译并可读的Post代码。