Set<object> et VisualStudio [Résolu]

Signaler
Messages postés
116
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2012
-
Messages postés
116
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2012
-
Bonjour,

j'essaie sans succès d'utiliser un std::set depuis quelques temps, et tombe sur un message d'erreur à la compilation... même lorsque j'essaie de déclarer un set d'entiers:

set anIntSet;
anIntSet.insert(12);

=> (erreur : xtree(1413) : error C2061: erreur de syntaxe : identificateur '_Wherenode')

Certains forums conseillent de modifier le fichier xtree, installé avec VisualStudio, mais ils datent de 2006...

La version 2008 de Vstudio n'a pas corrigé ce problème?

Quelqu'un aurait-t-il un exemple d'utilisation d'un set<objet> qui fonctionne? (les redéfinitions des opérateurs '==' '<' et '=' suffisent n'est-ce pas?)

Dois-je vraiment demander à l'admin de me laisser modifier la ligne 1412 de xtree?
Et si oui, je remplace

new (_Wherenode) _Node(_Larg, _Parg, _Rarg, _Val, _Carg);

par

_Node _Wherenode(_Larg, _Parg, _Rarg, _Val, _Carg);

???

Désolé ça fait beaucoup de questions mais l'utilisation de set me paraît le plus adapté...

2 réponses

Messages postés
116
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2012

Bon,

ben j'vais devoir me répondre :
l'erreur de compil venait...
... du fait que des include étaient dans LE MAUVAIS ORDRE!!

La solution :
#include<set>;
avant
#include*********;//!!!


au lieu de

#include*********;
#include<set>;
#include*********;

Bonne journée.
Messages postés
116
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2012

Re-..

J'ai testé la modification du fichier xtree, et le test sur un set d'entiers fonctionne;

cela dit, j'ai une fuite de mémoire malgré la présence de

anIntSet.erase(intSet.begin(), anIntSet.end());
et de
anIntSet.clear();

j'imagine peut-être à tort que c'est la modif de xtree fait que la destruction du set est mal faite...

A l'aide SVP!!