Bonjour, j'expose mon probleme.
Une classe me crée un vector comme suit, je n'ai mis que la partie de code utile pour la compréhension de mon pb.
Ma map est bien remplie, (je l'ai verifie)
Maintenant et c'est la que j'ai un problème, je veux utiliser les valeurs de cette map pour faire des calculs mathématique. Je fais dans une autre classe(un autre .cpp)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 map<string, float> Maclasse::Mafonction(Configuration* cnf) {..... ..... ..... map<string, int> monvecteur if (file) { while(!file.fail()) { file>>nom>>valeur; monvecteur[nom]=valeur; cout<<nom<<"-"<<valeur<<endl; } } else { cout<<"ERROR : can't open file"; } return monvecteur; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 bool Moncalcul::CalculMath(map<string, double>*& blabla) { cout<<"bonjour : "<<endl; Jusque la ca marche for (map<string, float>::iterator myiter = monvecteur->begin(); myiter!=monvecteur->end(); myiter++) { cout<<"nom: "<<myiter->first<<endl; mon calcul = puis la formule; } return true; blabla = moncalcul; } C'est comme si il n'arrivait pas a rentrer dans la boucle for. J'ai l'impression qu'il n'arrive pas a trouver cette map. Pourtant cette fois ci j'ai bien fais une instance de ma classe en créant l'objet dans mon main de la manière suivante :
puis idem pour ma seconde classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaClasse* truc = MaClasse truc->Mafonction();
J'ai n'ai aucun message d'erreur. Juste un plantage sur le moment en rouge
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonCalcul* truc2 = MonCalcul truc2->CalculMath();
Merci.
Partager