所以,这是我的“linked_list.h”标题的一部分:
template <typename T>
class Linked_list {
public:
Linked_list();
~Linked_list();
void add_first(const T& x);
//...
};
我的实现的一部分:
template <typename T>
line 22: void Linked_list<T> :: add_first(const T& x)
{
Node<T>* aux;
aux = new Node<T>;
aux->info = x;
aux->prev = nil;
aux->next = nil->next;
nil->next->prev = aux;
nil->next = aux;
}
我正在尝试创建一个字符串链接列表的链接列表,并将字符串添加到我的链接列表的一个链接列表中,如下所示:
Linked_list<Linked_list<string> > *l;
l[0]->add_first("list");
//also I've tried l[0].add_first("list"); but it didn't work either
谢谢你。
稍后编辑:当我尝试 l[0]->add_first("list") 这些是错误:
main.cc: In function ‘int main()’:
main.cc:22:22: error: no matching function for call to‘Linked_list<Linked_list<std::basic_string<char> > >::add_first(const char [4])’
main.cc:22:22: note: candidate is:
In file included from main.cc:6:0:
linked_list.cc:28:6: note: void Linked_list<T>::add_first(const T&) [with T = Linked_list<std::basic_string<char> >]
linked_list.cc:28:6: note: no known conversion for argument 1 from ‘const char [4]’ to ‘const Linked_list<std::basic_string<char> >&’
后来后来编辑:终于成功了,谢谢您的想法:我就是这样做的,现在可以了:
Linked_list<Linked_list<string> > l;
l[0].add_first("list");
它有效:D。再次感谢 !
嗯。。其实是不行的。。