cs_snake57
Messages postés204Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 1 novembre 2011
-
15 mars 2009 à 17:32
cs_snake57
Messages postés204Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 1 novembre 2011
-
16 mars 2009 à 13:38
Bonjour,
j'ai essayé de passer par les pointeurs triples, mais j'arrive pas a allouer, la compilation ne passe pas, pouvez vous m'aider svp?
Voici mon code :
const int nbrCarreLigneTotal=22;
const int nbrCarreColonneTotal=11;
SDL_Surface ***carre={NULL};
carre = malloc(nbrCarreLigneTotal*sizeof(*carre));
for( i = 0; i < nbrCarreLigneTotal; ++i)
{
carre[i] = malloc(nbrCarreColonneTotal*sizeof(**carre));
}
le compilo me bloc sur les deux malloc, sur le premier j'ai l'erreur :
"error: invalid conversion from `void*' to `SDL_Surface***'"
et sur le second malloc j'ai :
"error: invalid conversion from `void*' to `SDL_Surface**'"
ceci dit, on évite en général d'appeler 15000 fois malloc : on l'appelle une seule fois avec la taille totale (L*C+L) puis on initialise les pointeurs : carre[i]=(SDL_Surface**)(carre+L+C*i).