Problème avec SDL, struct?

foxley Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 11 mai 2005 - 11 mai 2005 à 23:04
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 12 mai 2005 à 00:35
Bonjour, je suis nouveau ici.
J'ai un projet en C à faire pour la fac.

Et à vrai dire je suis bloqué a un endroit:

"tab[i]->surface->w" afin de récuperer la dimension de surface.

sachant que tab est un tableau de struct

Comment peut on écrire d'une autre manière la ligne dessus ??

Merci.

Ps: je ne sais pas si j'ai assez détaillé...

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 mai 2005 à 23:25
Ton problème est-il seulement de réécrire la ligne d'une autre manière? C'est possible, mais ca n'a pas grand intérêt:

a-> peut être remplacé par (*a).bTu peux donc écrire ta ligne de cette manière:

*((*tab[i]).surface).w
0
foxley Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 11 mai 2005
11 mai 2005 à 23:51
en fait c'est plus compliquer que ça.

je te donne le struct que j'ai:

struct planete{

    char *image;

    SDL_Surface *surf;

    SDL_Rect rect;

};

 plus loin j'ai besoin d'initialiser un tableau avec des struct planete avec une boucle for:

for (s=0; s<nb_p; s++){

     ...

     tab_p[s]->rect.w = tab_p[s]->surf->w;

     ...

}

 ça compile mais quand je veux l'éxécuter, erreur ?

et le problème se situe bien là : tab_p[s]->surf->w.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 mai 2005 à 00:35
Il faut que tu regardes combien vaut s (est-ce que tab_p[s] existe
bien?). Peut être aussi que tab_p[s]->surf n'est pas bien initialisé
ou pas alloué du tout.
0
Rejoignez-nous