web-dev-qa-db-fra.com

utilisation non valide du nom du modèle sans liste d'arguments

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()
  {

  }
25
Alladin

É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.

49
jrok