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

Auteur Sujet: [Erreur] iterateur prend valeur impossible  (Lu 1655 fois)

0 Membres et 1 Invité sur ce sujet

Jackain

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
[Erreur] iterateur prend valeur impossible
« le: Février 25, 2017, 06:42:25 pm »
Bonjour,

J'ai quelques soucis avec mon programme,
dans une fonction je fait:

int i = 0;
int id = 0;

        for (int y = 0; y < (int)m_size.y; y++)
        {
                for (int x = 0; x < (int)m_size.x; x++) {

                        Tile tile;

                        tile.id = id;
                        id++;
                        tile.vertex_pos[i] = sf::Vector2f((x * COORD_SCALE) + m_position_offset.x,              (y * COORD_SCALE) + m_position_offset.y);
                        i++;
                        tile.vertex_pos[i] = sf::Vector2f(((x + 1) * COORD_SCALE) + m_position_offset.x,                (y * COORD_SCALE) + m_position_offset.y);
                        i++;
                        tile.vertex_pos[i] = sf::Vector2f((x * COORD_SCALE) + m_position_offset.x,              ((y + 1) * COORD_SCALE) + m_position_offset.y);
                        i++;
                        tile.vertex_pos[i] = sf::Vector2f((x * COORD_SCALE) + m_position_offset.x,              ((y + 1) * COORD_SCALE) + m_position_offset.y);
                        i++;
                        tile.vertex_pos[i] = sf::Vector2f(((x + 1) * COORD_SCALE) + m_position_offset.x,                (y * COORD_SCALE) + m_position_offset.y);
                        i++;
                        tile.vertex_pos[i] = sf::Vector2f(((x + 1) * COORD_SCALE) + m_position_offset.x,                ((y + 1) * COORD_SCALE) + m_position_offset.y);
                        i++;
                }
        }

Seulement voila j'obtiens une violation d’accès quand je met un breakpoint, a partir du x = 3 (supposément),
le i et id prennent une valeur impossible du genre i = 109284092.

J'utilise la SFML, j'ai bien les dll debug,
Ca compilais correctement il y a quelques jours.

Si vous avez des idées je suis preneur :)
Merci !
« Modifié: Février 25, 2017, 07:00:23 pm par Jackain »

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : [Erreur] iterateur prend valeur impossible
« Réponse #1 le: Février 25, 2017, 11:27:01 pm »
Pas sûr mais peut-être que ce sont les conversions de float à int qui posent problème.
Je suppose également que tes attributs m_size.x et y sont des float.
Essaye sans conversion pour voir (float i et id).

 

anything