求助...这个如何New?

jzp12 2007-05-26 04:00:03
有如下定义:
typedef struct List
{
int Number;
int Total;
//struct List *Next;
List *Next;
}Node;

typedef Node *Link;
.....
Link Create_List(Link Head)
{
Link New,Pointer;
Head = new Node;
if(NULL == Head)
cout << "Memory Allocate failed!" <<endl;
else
....
}
想问一问我这们的分配空间对不对?
Head = new Node;
程序产生异常,说Head在使用之关未定义.求助...
...全文
256 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedom118 2007-05-26
  • 打赏
  • 举报
回复
错的语句就是:Head = Create_List(Head);括号内的实参没有初始化啊.所以就会异常啊.其实这个参数根本就没必要.在子函数里定义head.然后return就可以了.

htqx 2007-05-26
  • 打赏
  • 举报
回复
没必要head参数.
Head = Create_List(); //接口要明确,传入一个空的指针没有意义,根据使用的形式来编写函数实现

不过你写的好像c代码.
jzp12 2007-05-26
  • 打赏
  • 举报
回复
大家还是看看我的主函数吧.错在那?
jzp12 2007-05-26
  • 打赏
  • 举报
回复
TO:dreamfly070826
那样不是重定义了吗?


编译器: .NET2003
主函数:
int _tmain(int argc, _TCHAR* argv[])
{
Link Head;
int Num;
Head = Create_List(Head);

if(Head!=NULL)
{
cout << "请输入你要查询的数字" <<endl;
cin >> Num;
if(List_Search(Num, Head))
{
cout << "查询次数为: "<<SearchTime <<endl;
}
else
{
cout << "没有你要查找的数字" <<endl;
}
Delete_List(Head);
}
return 0;
}
freedom118 2007-05-26
  • 打赏
  • 举报
回复
形参head在括号类就有定义啊,所以head=new node之前不用加link,只是没必要传一个形参进来.未定义应该是主函数的问题.子函数retune的是什么啊?
freedom118 2007-05-26
  • 打赏
  • 举报
回复
你建立单链表要传进一个head做什么啊?用 link creat-link()就可以啊.在函数内定义个link类型的head.生成链表后return head;就可以拉.
fengdream 2007-05-26
  • 打赏
  • 举报
回复
完全可以啊!!!
Link Create_List(Link Head)//这不是定义吗?
用的什么编译器啊?
celftj 2007-05-26
  • 打赏
  • 举报
回复
刚才没认真看,出丑了,不过我都出丑出的习惯了.

说Head在使用之关未定义.--->是说你声明了,但你没给它赋值就使用了.这应该只是个警告.

看不懂你的程序.
你传给Head给子函数,没用使用又赋新值给它了.
你传参的方式是按值调用的...
dreamfly070826 2007-05-26
  • 打赏
  • 举报
回复
你声明的只是主函数中的head,在子函数中还未声明。应该在Link Creqate_List(Link Head)子函数中的Head = new Node;之前声明head, 即在其之前加上 Link Head; 或者将Head = new Node;改为 Link Head = new Node;

jzp12 2007-05-26
  • 打赏
  • 举报
回复
不啊,
我在主函数中有这个声明,其实我要实现的功能也很简单,只是建议单链表,然后查找,再释放罢了.
celftj 2007-05-26
  • 打赏
  • 举报
回复
你之前没有定义Head吧?

你使用Head之前定义下, Link Head;

65,189

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧