ITPub博客

首页 > > > 【C++编译出错】error: ld returned 1 exit status

【C++编译出错】error: ld returned 1 exit status

作者:mex 时间:2019-10-29 14:56:53 0 删除 编辑

把代码放到一个cpp文件运行无误后,拆分到三个文件(头文件,cpp,主函数main)里后出现该错误。重启几遍后无果,上网搜索后说是“只在头文件中写了函数声明,没在源文件中写实现造成的”,或者其他,没有给出解决办法。

代码如下:

//main函数文件usingnamespacestd;intmain(){ LinkNode *L =NULL; Create(L);return0; }

//头文件#include"stdio.h"#include<iostream>#include<stdlib.h>structLinkNode{LinkNode *next;intdata; };voidInsert(LinkNode *L,intnum);voidDisplay(LinkNode *L);voidCreate(LinkNode *L);

```

//.cpp文件,函数体

include"LinkList.h"

using namespace std;

void Insert(LinkNode L,int num)

{

LinkNode

 p = L->next,pre=L,Tem; //p指向第一个结点用来比较,pre指向p前面的点。Tem是新结点

Tem = new LinkNode;

Tem->data = num;

if(L->next == NULL) //当L没有结点时,插入

{

Tem->next = NULL;

L->next = Tem;

return;

}

while (p && (p->data < num)) //寻找合适的位置插入

{

pre = p;

p = p->next;

}

if(p == NULL) //没有找到合适位置,一直来到了链表最后

{

pre->next = Tem;

Tem->next = NULL;

}

else //找到了合适位置

{

Tem->next = p;

pre->next = Tem;

}

}

void Display(LinkNode L)

{

LinkNode 

o;

o = L->next;

while(o != NULL)

{

cout<data<<" ";

o = o->next;

}

}

void Create(LinkNode *L)

{

L = new LinkNode;

L->data = 0;

L->next = NULL; //初始化L

int num=0;

cout<<"请输入要插入的元素,输入-1结束"<

cin>>num;

while(num != -1)

{

Insert(L,num);

L->data = L->data +1;

cin>>num;

}

cout<<"输入完成,列表元素如下:"<

Display(L);

}```

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3932/viewspace-3139240/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-09

  • 博文量
    193
  • 访问量
    1886