Tableau dynamique vector

- - Dernière réponse : Dalfab
Messages postés
416
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
12 août 2019
- 31 juil. 2019 à 23:03
Bonjour, j'ai un probléme avec le tableau dynamique vector ,comme vous voyer dans mon code la fonction ajouter admet deux parametre ( de type produit et double avec lesquels j'initialise mon ingrédient ) mais ça ne marche pas , et si un seul parametre qui est ingrédient ça marche ,



class Recette {
private:
double nbFois_;
string name ;
vector<Ingredient*> contenu;
public:
Recette(string testn,double testf):name(testn),nbFois_(testf){}
Recette(string testn):name(testn),nbFois_(1){}
void ajouter(const Produit& p, double quantite){
Ingredient* autre( const Produit &p,double quantite);
/*void ajouter (Ingredient* autre ){
contenu.push_back(autre);*/
contenu.push_back(autre);
}

}






Configuration: Windows / Chrome 76.0.3809.87
Afficher la suite 

1 réponse

Messages postés
416
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
12 août 2019
46
0
Merci
Bonjour,

la ligne
Ingredient* autre( const Produit &p,double quantite);
déclare une fonction
autre()
qui reçoit 2 paramètres et retourne un pointeur. Je ne pense pas que c'est ce que tu voulais faire.

contenu
est un tableau de pointeur sur des ingrédients, donc on doit lui ajouter un pointeur qui doit pointer un
Ingredient
qui doit se trouver quelque part. Or ici le seul moyen serait d'utiliser
new
qui est une abomination. Alors erreur dans la définition de
contenu
, erreur dans les paramètres de la fonction
ajouter()
ou erreur d'un prof qui recommanderais d'utiliser
new
, je ne sais pas vers quoi t'orienter.
Commenter la réponse de Dalfab