Vector C++ header

Résolu/Fermé
Sixela - 31 juil. 2011 à 09:28
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 1 août 2011 à 12:34
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

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 31/07/2011 à 14:02
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> &notes, 
                    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
1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 août 2011 à 10:07
daccord avec toi, mais il me semble que les flottants ne peuvent pas être non signés.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
1 août 2011 à 12:34
Autant pour moi, j'avais caché les avertissements du compilateur qui effectivement n'est pas content ^^
0