为什么C++程序无法调试

#include<iostream.h>struct NODE{ int data; NODE *next;};NODE *head=NULL;int data[6]={25,41,17,98,5,67};void InsertList(NODE **head,int aData,int bData);void DeleteList(NODE **head,int aData);void OutputList(NODE *head);void main(){ for(int i=0;i<6;i++) InsertList(&head,data[0],data[i]); OutputList(head); DeleteList(&head,98); DeleteList(&head,41); OutputList(head);}
2026年09月25日 00:03
有3个网友回答
网友(1):

这个,你的前面几个函数只是声明了,还没有给出具体的函数体,InsertList(NODE **head,int aData,int bData); DeleteList(NODE **head,int aData);OutputList(NODE *head);你先给出了具体函数体就应该没问题了

网友(2):

哦 我判断你是再看算法类的书吧
OutputList(head);
DeleteList(&head,98);
DeleteList(&head,41);
都不是库函数,而是你自己定义的函数。
算法不是程序,是不能直接运行的。
库函数,就是微软都定义好的,所以你可以调用。
自己写的函数就要声明,然后实现,最后才能调用。
比如一辆轿车,厂家让它具备跑的功能,所以你可以直接开。
但是如果厂家没定义,你就需要先定义跑这个概念,
然后是怎么跑(比如需要打火、离合、挂档),然后你才能跑。

网友(3):

void InsertList(NODE **head,int aData,int bData);
void DeleteList(NODE **head,int aData);
void OutputList(NODE *head);
上面这些函数你只声明了,没实现啊,而你在main函数里调用了,就报错了啊

一般会报这样的错误
error LNK2019: 无法解析的外部符号 "void __cdecl OutputList(struct NODE *)

你实现它就可以了