struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
int main()
{
ListNode *dummy(0);
cout << dummy->val << endl;
}
它在dummy-&gt; val
处发生了段错误为什么这样做?
ListNode initNode(0);
ListNode *dummy = &initNode;
答案 0 :(得分:0)
在第一种情况下
ListNode *dummy(0);
您正在为对象分配空值,这就是崩溃的原因。
在第二种情况下,您正在初始化对象的地址
ListNode *dummy = &initNode;