Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Jackain le Février 25, 2017, 06:42:25 pm

Titre: [Erreur] iterateur prend valeur impossible
Posté par: Jackain 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 !
Titre: Re : [Erreur] iterateur prend valeur impossible
Posté par: janf 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).