Я пытаюсь создать связанный список, который будет содержать другие связанные списки int, мне нужно иметь доступ к связанному списку int из основного связанного списка.
Мой вопрос: как мне указать узлы основного связанного списка, чтобы они удерживали заголовок связанного списка int?
Я создал статический список: dlist<Node<int>& > _plist;
У меня есть функция: insertToHead ( T const& dataToInsert);
Но из класса, который использует связанный список, у меня есть только указатель на голову, что-то вроде: Node<T>*
. и это дает мне ошибку, когда я пытаюсь передать Node<T>*
T const&
.
это конструктор класса, который использует связанный список:
Set::Set(int numArray[], int size)
{
dlist<Node<int> > _plist; //static main list
dlist<int> _intList ; //int list
dlist<int> list; //int list
int i;
for (i=0; i < size; i++)
{
list.insertInOrder(numArray[i]); //insert in to int list
}
this->_intList = list;
this->_plist.insertToHead( _intList.getHead()); //gives an error
};
Это правильный способ сделать связь между основным списком и связанными списками int?
std::list< std::list<int> >
может удовлетворить ваши потребности. - person Mysticial   schedule 19.09.2012getHead()
возвращает указатель, но вам нужно вставить ссылку. Один из способов сделать это - разыменовать указатель:_pList.insertToHead(*_intList.getHead())
. По крайней мере, это было бы синтаксически правильно. (Действительно ли это работает, зависит от того, чтоdlist
делает именно с переданным вами элементом). - person jogojapan   schedule 19.09.2012