salut tout le monde je suis en train de faire un tetris avec sdl et c++ .
j'ai crée pour le moment une classe cube et une classe forme dans la quelle j'ai crée un vector <cube> (puisque chaque piece est formée de 4 cube)
apres pour chaque fonction membre de la clsse forme je fais une boucle pour appeler les fonction menbre des 4 cube .
voila l'exemple de la fonction dep_bas dans forme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void Forme::dep_bas(int carte[][12], SDL_Rect position)
{ 
	for(int i=0;i<4;i++)
 
	  m_cube[i].dep_bas(carte,&position);
}
et voila dep_bas dans cube:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
void Cube::dep_bas(int carte[][12], SDL_Rect *posi)
{   
	  if(carte[posi->x][posi->y + 1 ]  != 0 || posi->y == 12)
 
		  m_mov_valid =  false;
 
	  else      
		         posi->y++;
 
 
}
voila je precise que j'utilise le tableau carte pour detreminer chque position de carre dans la figure du jeu .
la compilation se fait normalemnt : aucune erreur .
mais lors de l'execution le programme se plante et me sort cette erreur

Exception non gérée à 0x00411b86 dans Tetris.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00089518.


et on m'indique cette ligne dans la fonction dep_bas de cube:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 if(carte[posi->x][posi->y + 1 ]  != 0 || posi->y == 12)
je ne vois l'origine de cette violation d'accés !!

merci pour votre lecture