我具有用于链表的数据结构,但是无法打印每个节点的值。我刚得到exited with non-zero status。这是代码:

#include <iostream>

using namespace std;

 struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
 };


 int main()
 {
   ListNode* l1;
   l1->val = 1;

   cout << l1->val << endl;

   return 0;
 }

最佳答案

l1是未初始化的指针;使用指针之前,必须将其指向有效的对象:

#include <iostream>

using namespace std;

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};


int main()
{
    ListNode* l1 = new ListNode(0);  // allocate memory
    l1->val = 1;

    cout << l1->val << endl;

    delete l1;  // deallocate memory

    return 0;
}

10-08 07:53
查看更多