1
Général / [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:
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 !
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++;
}
}
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 !