В настоящее время я создаю круговой двусвязный список в качестве упражнения.Это упражнение - шаблон для проклятого предмета, который оказывается довольно болезненным.После многих, многих ошибок я получаю больше ошибок.Я бы посмеялся над этим, но теперь я очень устал и измучен.
#include <iostream>
#include <vector>
int main( int argc, char** argv )
{
using std::cout;
using std::endl;
using std::cin;
using std::string;
CDLinkedList<std::string> list;
list.push_back("Hello");
list.push_back(",");
list.push_back("World.");
cout << "Displaying normally..." << endl;
list.display();
cout << "Displaying backwards..." << endl;
list.display(::Direction::Backward);
cin.get();
return 0;
}
Шаблоны работают с вводом int, а не со строкой, что я сейчас пытаюсь заставить работать.
Последняя функция Node *operator()(T data)
- мой текущий проблемный потомок.Я получаю ошибку:
error C2784: 'bool std::operator !=(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'std::string'
Что здесь не так?