说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

[c++]链表 节点是类不是结构,建立节点是不是一定要=new classNode();不能用=classNode();?

编辑:说三道四文库 发布时间:2018-05-21 01:38
HTML文档下载 WORD文档下载 PDF文档下载
如题!
编了个链表类,老是出错,找不出问题在哪里?
急人!这是昨天发的帖子,大家帮我找找毛病出在哪里?
http://topic.csdn.net/u/20080420/22/dd1c8fe2-9e99-4cee-8c63-4740cc6adfdf.html
谢谢各位!
类和结构没有本质区别,结构就是成员全部默认是public的类。一般说来是要用new的。
老是死循环输出cout<<"5";这里。找不出问题所在!
结构就是一个成员都是public的类,两者没别的差别。现在的结构都可以定义成员函数
 ClassNode * pointer=&ClassNode(valueContents[i],1,NULL);
你的节点指向了一个临时变量, 因为临时变量在超出作用域范围后会被回收, 所以这样是不对的, 应如你标题所示, 要用
 ClassNode * pointer=new ClassNode(valueContents[i],1,NULL);
引用 4 楼 Inhibitory 的回复:
 ClassNode * pointer=&ClassNode(valueContents[i],1,NULL); 
你的节点指向了一个临时变量, 因为临时变量在超出作用域范围后会被回收, 所以这样是不对的, 应如你标题所示, 要用 
 ClassNode * pointer=new ClassNode(valueContents[i],1,NULL);

知道了!谢谢!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘