Donc, fondamentalement, la tâche consistait à créer une liste doublement chaînée qui est gérée de manière générique plutôt que verrouillée sur un seul type de données. J'ai essayé de compiler à la fois avec gcc et msvc et les deux compilateurs me donnent à peu près les mêmes erreurs, donc je suppose que c'est juste mon mauvais codage et non l'excentricité d'un compilateur ou de l'autre.Problèmes étranges de création de modèles C++
Actuellement, je suis en train de dire que les erreurs mes classes dans linkList.h
ne sont pas un modèle
../linkList.h:34: error: ‘llist’ is not a template type
../linkList.h:143: error: ‘iter’ is not a template type
../josephus.cpp:14: error: ‘llist’ is not a template
../josephus.cpp:14: error: aggregate ‘llist ppl’ has incomplete type and cannot be defined
../josephus.cpp:15: error: ‘iter’ is not a template
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;
Toute aide à ce sujet est très apprécié
En matière de style, il n'y a rien de mal à demander de l'aide pour les devoirs, mais ne dites pas "je ne sais pas". Je comprends! " et vider tout votre code sur d'autres personnes. Essayez de publier le code le moins possible pour reproduire votre problème. –
Édité pour plus de clarté, désolé à ce sujet – user161741
C'est cool - tout le monde fait des erreurs. –