【发布时间】:2014-01-12 23:28:38
【问题描述】:
这是名为Node.h的头文件。
struct node{
int val;
node *next;
node(int x){
val = x;
next = NULL;
};
void test(){
node *head = new node(1);
head->next = new node(1);
head->next->next = new node(2);
cout<<head->val;
};
我有一个Test.cpp 文件,我在其main 函数中调用了test()。
#include "Node.h"
int main(){
test();
return 0;
}
输出是 lldb 而不是节点的值,应该是 1。
【问题讨论】:
-
你怎么知道这是一个无限循环?你调试过吗?向
node构造函数添加了日志记录?出现问题时,请按原样粘贴两个文件。 -
显然主要问题是在你没有显示的代码中。请发布一个完整但最小的示例,供读者编译和测试,以举例说明问题。如果需要两个源代码文件,把两者的源代码贴出来。
-
顺便说一句,在构造函数定义的结束 } 之后有一个多余的分号。从技术上讲,这是错误的,但可能会被接受(可能带有警告)。只需将其删除。
-
上面的代码无法编译。
-
@– 干杯和hth。 - Alf 我认为是第 7 章说声明可以为空。
标签: c++