我正在尝试用C ++创建自定义列表模板,但还没有走得太远!我已完成编码的骨架,现在正试图填写它。基本上,我希望可以创建一个新的列表,其中两个节点(第一个,最后一个)将为NULL,直到将值添加到列表中
然而,有一个巨大的错误信息,似乎是一个i / o。粘贴在这里太长了。我确信我做的事情会被那些经验丰富的人发现。
#include <iostream>
using namespace std;
template <class T>
class node {
T value;
node<T> *next;
node<T> *previous;
};
template <class T>
class my_list {
public:
node<T> first;
node<T> last;
my_list(){
first = NULL;
last = NULL;
}
~my_list(){
}
void push_back(T val);
};
template <class T>
void my_list<T>::push_back(T val){
if (this->first == NULL) {
cout << "Hello";
}
}
int main() {
my_list<int> newlist;
newlist.push_back(5);
}
答案 0 :(得分:0)
您需要修改first
和last
的声明:
node<T> *first;
node<T> *last;