bonjour,
devant utiliser la classe set de la librairie stl, nous sommes tombé sur un probleme d'insertion.
voici un bout de code
ou A et S_i sont defini comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 printA(); std::cout << " " << S_i[0] << " " <<S_i[1] << std::endl; A.insert(S_i[0]); A.insert(S_i[1]); printA();
voila ce que nous obtenons.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 std::set<std::set<CClause*> *, ltstr > A; std::vector<std::set<CClause*> *> S_i; struct ltstr { bool operator()(std::set<CClause*>* p, std::set<CClause*>* q) { return p->size() > q->size(); } };
comme on peut le voir, A est vide avant , on essaie d'inserer deux pointeurs differents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 A IS PRINTED A EST VIDE 0x8058178 0x8058198 A IS PRINTED {2 3 } {-3 2 } {-3 -1 2 } {-2 1 3 } {-3 1 2 }
mais il ne met que le premier (une seule ligne). Pourquoi?
merci
Partager