Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Probleme map de Vector c++  (Lu 1259 fois)

0 Membres et 1 Invité sur ce sujet

elbarto

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Probleme map de Vector c++
« le: Novembre 09, 2013, 10:28:08 pm »
Bonjour,

J'ai une ligne de code qui provoque une erreur lors de la compilation mais je ne comprend pas pourquoi :

Dans un premier temps je declare un map de cette facon :

map<Vector2i,Vector3<Vector2i> > mapping;

Ensuite plus loin j'initialise mapping de cette facon :
Vector2i point(20,20);
Vector3<Vector2i> t(Vector2i(param.x.x,param.x.y),Vector2i(param.y.x,param.y.y),Vector2i(param.z.x,param.z.y));
mapping[point] = t;
 

Je sait que c'est l'instruction mapping[point] = t; qui provoque l'erreur car quand je la met en commentaire, la compilation réussi.
L'erreur que me retourne le compilateur :
No matching constructor for initialization of 'sf::Vector2<int>'

Je suis sur Xcode

Merci de votre aide.

mccusti

  • Invité
Re : Probleme map de Vector c++
« Réponse #1 le: Novembre 12, 2013, 09:45:27 pm »
Ton utilisation Vector3<Vector2i> est bizarre, Vector3 a été conçue pour manipuler des nombres. Attention aux éventuels problèmes à venir.
En ce qui concerne ton erreur, dans un std::map les éléments sont classés. Par défaut c'est l'operator< qui est utilisé sur les clés. Or il n'existe pas d'opérateur de comparaison sur les sf::Vector2.