Vector C++ header
Résolu
Sixela
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'aimerais utiliser une fonction qui recoit des vector en argument
double moy(double<vector> note,double<vector> coeff)
seulement, puisque je le met dans un antre fichier que la fonction Main, je dois le déclarer dans un header (.h) mais il dit que "vector" n'est pas déclarer, même si je rajoute #include "vector"
Comment-dois-je faire.
Merci
j'aimerais utiliser une fonction qui recoit des vector en argument
double moy(double<vector> note,double<vector> coeff)
seulement, puisque je le met dans un antre fichier que la fonction Main, je dois le déclarer dans un header (.h) mais il dit que "vector" n'est pas déclarer, même si je rajoute #include "vector"
Comment-dois-je faire.
Merci
1 réponse
-
Il ne faut pas écrire double<vector> mais vector<double>
Remarques :
A priori tes notes et tes coefficients sont positifs donc tu peux utiliser des types unsigned.
Puisque tu ne vas pas modifier les tableaux dans la fonction, tu peux les utiliser const.
Enfin, pour ne pas faire de copie des tableaux, passes les par référence avec &
#include <vector> unsigned double moy(const std::vector<unsigned double> ¬es, const std::vector<unsigned double> &coeffs);
Plus "critique", tu vas avoir de gros problèmes si tes deux tableaux n'ont pas la même taille, il serait plus sûr d'utiliser des paires, chaque note étant "en couple" avec son coefficient.
#include <vector> unsigned double moy(const std::vector<std::pair<unsigned double,unsigned double>> &tab);
La confiance n'exclut pas le contrôle