我将sentinel设置为头和尾都指向它的实现不起作用。这是我当前的代码。
template <typename Type>
SentinelList<Type>::SentinelList(): list_size( 0 ) {
SinglyLinkedNode<Type>* sentinel = new SentinelList<Type>;
list_head = sentinel;
list_tail = sentinel;
list_head->next() = list_tail;
list_tail->next() = nullptr;
}
注意:节点类和列表类已经实现,接下来实际上是一个函数调用。编辑:我在最后一个大括号中也得到了这个错误:
[cquery] expected a type
编辑2:新错误:
[cquery] expression is not assignable
next((函数返回一个表示内存地址的值。它不是对Node实例中可以修改的内存位置的引用。它不是一个可以指定给其他值的l值。
考虑更改代码,以便将新值传递给next((方法,例如
list_head->next(list_tail);
这时,您实际上可以将"新"地址值存储在有意义的内存位置。
除此之外,以下内容:
SinglyLinkedNode<Type>* sentinel = new SentinelList<Type>;
是有问题的。sentinel
应分配给SinglyLinkedNode<Type>
的对象