Je suis assez nouveau en C++ et j'essaie d'imprimer un vecteur d'Institutions, qui est un type d'objet que j'ai créé. La création de l'objet et le reste de mon programme s'exécutent très bien mais quand j'essaie d'imprimer le vecteur, le "< <" donne une erreur qui dit que "les types d'opérandes sont std :: ostream".Utilisation de std :: ostream pour l'impression de vecteurs
void PrintVector(const vector<Institution> &institutions)
{
for (int x = 0; x < institutions.size; x++)
{
cout << institutions.at(x) << endl;
}
}
J'ai essayé de faire des recherches sur ce que std :: ostream est ou ce qu'elle fait, mais puisque je ne sais pas beaucoup de choses sur C++ (ou la programmation en général), je ne comprends pas l'un des les sites qui l'expliquent. Pourquoi l'habituel "cout < <" ne fonctionnera-t-il pas dans cette situation? Quelqu'un peut-il m'expliquer ce que cela signifie ou s'il y a une façon différente d'imprimer mon vecteur qui ne l'exige pas?
Toute aide est appréciée, merci.
Avez-vous écrit une classe '' opérateur << pour votre 'Institution'? – Chad
Puisque vous savez que les valeurs de 'x' sont des indices valides dans le vecteur, il ne sert à rien de les vérifier à nouveau avec' institutions.at (X) '. Utilisez simplement 'institutions [x]'. Encore mieux, lisez sur les itérateurs. –