Таким образом, в основном, мы должны были создать двусвязный список, который шаблонизирован, а не привязан к одному типу данных. Я пытался компилировать как с помощью gcc, так и msvc, и оба компилятора выдают примерно одинаковые ошибки, поэтому я предполагаю, что это просто мое плохое кодирование, а не изворотливость одного или другого компилятора.
В настоящее время я получаю сообщения о том, что мои уроки в linkList.h
не являются шаблоном
.. / linkList.h: 34: ошибка: «список» не относится к типу шаблонов
../linkList.h:143: ошибка: «iter» не является типом шаблона
../josephus.cpp:14: ошибка: «список» не является шаблоном
../josephus.cpp:14: ошибка: агрегатный список рассылки имеет неполный тип
и не может быть определено
../josephus.cpp:15: ошибка: "iter" не является
шаблон
linkList.h
template<typename T>
class iter
{
public:
iter()
{
position = sentin;
container = sentin->payload;
}
T get() const
{
assert(position != sentin);
return position->payload;
}
void next()
{
position = position->next;
}
void previous()
{
position = position->prev;
}
bool equals(iter itr) const
{
return position == itr.position;
}
private:
node *position;
llist *container;
};
josephus.cpp
llist<int> ppl;
iter<int> pos;
int start = static_cast<int>(argv[1]) - 1;
int end = static_cast<int>(argv[2]) - 1;
Любая помощь в этом вопросе очень ценится