【发布时间】:2012-10-23 05:13:58
【问题描述】:
我想知道以下 C++ 代码有什么问题。它在运行时崩溃。
#include <iostream.h>
#include <conio.h>
using namespace std;
class node
{
public:
int info;
node *addr;
node(){
info = 0;
addr = NULL;
}
~node(){}
};
void func(node *);
int main(void){
node *head;
node b;
b.info = 10;
*head = b;
func(head);
getch();
}
void func(node *obj){
cout<<"i: "<<(*obj).info;
}
【问题讨论】:
-
即使在
func(node *)函数中将cout<<"i: "<<(*obj).info;替换为cout<<"i: "<<(obj->info);,问题仍然存在 -
你必须分配你的类,即b = new node(),然后访问元素如b->info = 10
-
*head = b;应该是head = &b; -
当程序为您崩溃时,您的第一反应应该是在调试器中运行该程序。它将帮助您定位崩溃的位置,还可以让您检查变量以帮助您了解崩溃的原因。
-
b =
new node()不等于node b;吗??