“Erreur: type attendu, obtenu ‘nom de classe'” en C ++

En utilisant le code suivant:

template  class node { [. . .] }; class b_graph { friend istream& operator>> (istream& in, b_graph& ingraph); friend ostream& operator<< (ostream& out, b_graph& outgraph); public: [...] private: vector vertices; //This line 

Je suis en train:

  error: type/value mismatch at argument 1 in template parameter list for 'template class std::vector' error: expected a type, got 'node' error: template argument 2 is invalid 

Sur la ligne indiquée. Le nœud est clairement défini avant b_graph qui l’utilise – qu’ai-je fait ici?

node n’est pas une classe, c’est un modèle de classe. Vous devez l’instancier pour l’utiliser comme type d’élément de vector , par exemple,

 vector > vertices; 

( int est utilisé à titre d’exemple; vous devriez utiliser le type dont vous avez réellement besoin)