Je rencontre un problème avec ma classe de liste liée, j'ai créé l'interface et les fichiers d'implémentation de la classe, mais lorsque je le crée, cette erreur se produit: "utilisation non valide du nom de modèle 'LinkedList' sans liste d'arguments". voici mon fichier d'interface:
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
template <typename T>
struct Node{
T info;
Node<T> *next;
};
template <typename T>
class LinkedList
{
Node<T> *start;
Node<T> *current;
public:
LinkedList();
~LinkedList();
};
#endif // LINKEDLIST_H
et voici mon code d'implémentation:
#include "LinkedList.h"
LinkedList::LinkedList()
{
start = nullptr;
current = nullptr;
}
LinkedList::~LinkedList()
{
}
Écrivez-le comme ceci:
template<typename T>
LinkedList<T>::LinkedList()
{
start = nullptr;
current = nullptr;
}
Et de même pour les autres fonctions membres. Mais vous rencontrerez un autre problème - les déclarations et définitions d'un modèle ne peuvent pas être séparées dans différents fichiers.