bonjour à tous, et bonnes fêtes )
j'ai un petit soucis et je ne m'en sort pas du tout donc je requiert volontier votre aide :
j'ai une map m de < Obj , valeur>. ( Objet est donc la clé)
mon objet Obj = une chaine + 2 dates
l'ennui c'est que ma map n'a pas l'air de fonctionner correctement au niveau des ajouts.
ex : un objet nommé obj1
(AA, 10-10-05, 15-10-05)
je faisok ça marche, ma map contient bien l'objet et la valeur 4 est associée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part m[obj1] = 4
Maintenant, je veux rajouter un deuxième objet nommé obj2
(AA, 16-10-05, 17-10-05)
je faiset bien ça ne m'a pas rajouté obj2 dans la map mais ca a écrasé la valeur de l'objet 1 ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part m[obj2] = 5
Pourtant j'ai un 'opérateur ==' qui est bien défini etc.
Après quelques tests, c'est à cause de l'opérateur < que ça ne marche pas
si dedans je mets "return true", là ça marche... ma map contiendra bien les 2 objets un avec 4 l'autre avec 5.
par contre avec un test du genre
et bien là, ça ne marche plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2operateur < : "return Chaine != Chaine && date1 < date2 && dateRetour1 < dateRetour2"
donc ma question : comment on est censé définir un opérateur "<" correctement ?
(ex : là à la limite ça va, j'ai 2 dates, ça a un sens de pouvoir mettreu n opérateur inférieur, mais avec un objet qui contiendrait uniquement 10 chaines de caractères par ex ?)
voilà merci![]()
Partager