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)