map, struct et const & : pb d'insertion d'elts [VC++] - C++ - Programmation
Marsh Posté le 27-03-2003 à 17:50:08
si tu veux utiliser insert, faut insérer une paire, genre
Code :
|
ou aussi
Code :
|
qui fait une insertion si il n'y a pas de clé key ou le modifie sinon
Marsh Posté le 27-03-2003 à 17:58:01
gloop a écrit :
|
ok pour le insert, je devais rater fort...
je connaissais l'autre solution, mais ca génére une autre erreur, qui doit provenir du meme probleme...
Marsh Posté le 27-03-2003 à 18:05:31
Konar a écrit : |
c'est normal que l'utilisation de [] provoque une erreur, il a besoin d'un constructeur par défaut. Le comportement de l'opérateur est soit de retourner la valeur associée à la clé si elle existe, soit de créer une nouvelle entrée avec comme valeur mappée la valeur par défaut du type. Ensuite, si tu mets ca en lvalue, l'affectation sera faite. Comme t'as pas de constructeur par défaut, il gueule
Marsh Posté le 27-03-2003 à 18:06:10
sinon, c'est quoi l'erreur qu'il te balance, parce que la
Marsh Posté le 27-03-2003 à 17:42:10
j'ai le pb suivant : j'ai une struct avec dedans un "const HBITMAP&", et une table de hash ayant pour élément cette struct (et comme clé un UINT).
Le pb est que l'insertion d'un élément pose un pb chelou (erreur impossible a copier, trop longue).
voici en gros le code :
Et la ligne qui genere l'erreur :
c'est clair que c'est le 'const HBITMAP&' qui pose probleme, alors bien sur je pourrais m'en passer (par ex mettre un pointeur a la place), mais ca serait décevant.
en gros, si qqun pouvait me dire 'ca a pas de sens ce que t'as fait, pasque..." ou bien alors ou est l'erreur.
merci...
Message édité par Konar le 27-03-2003 à 17:43:03