Я новичок в С++. Недавно, когда я практиковался в написании связанного списка, я попытался использовать список инициализации для моего конструктора класса, чтобы назначить NULL в head-> next.
В конструкторе класса он предупредил, что мой оператор стрелки «ожидал '(' или '{'». Почему возникает такая ошибка? (Я знаю, что могу инициализировать члены класса прямо в блоке, но почему я не могу это с этим указателем?) Спасибо!
Вот мой заголовочный файл для связанного списка:
связанный список.h
#include <iostream>
using namespace std;
struct node {
int val;
node *next;
};
class linkedlist {
private:
node *head;
int listlen;
public:
linkedlist();
void insert(node*, int);
void del(node*);
void reverse(node*);
void traverse(node*);
int random();
~linkedlist();
};
И вот мой конструктор класса:
связанный список.cpp
#include "linkedlist.h"
#include <iostream>
linkedlist::linkedlist() :listlen(0), head->next(NULL){}
head
не инициализирован. Во-вторых, у вас не может быть выражений в списке инициализаторов. - person Some programmer dude   schedule 26.01.2017head->next
). - person Some programmer dude   schedule 26.01.2017