Empiler une matrice

Kurogane1 -  
Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un tableau de tableau et je cherche à l'empiler dans une pile.

J'ai ça :


typedef struct ech {
int echi[8][8];
} ech_t;


Puis j'ai ça :


ech_t echi_temp;
echi_temp.echi=echiquier;
empiler_echiquier(&pile_ech,echi_temp);


Puis j'ai ça :


int echiquier[8][8];

Quand je compile ça me mets cette erreur :

incompatible types when assigning to type 'int[8][8]' from type 'int (*)[8]'

Si je change ma structure en :
typedef struct ech {
int *echi[8];
} ech_t;


Alors j'ai plutôt cette erreur : incompatible types when assigning to type 'int *[8]' from type 'int (*)[8]'|

Ne me demandez pas de redéfinir echiquier, car je me suis servi dans 5-6 pages de code et je ne peux pas tout remodifier donc. Comment faire pour empiler une matrice ?

Et qu'est ce que ça veut dire les () dans le type : 'int (*)[8]'. Car apparemment ce n'est pas la même chose que int *[8].

Merci d'avance pour vos réponses.
A voir également:

1 réponse

Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour, ça ne vient pas de la structure mais du double tableau et la façon donc vous l'utilisez echi_temp.echi=echiquier;
faites une copie du contenu à la place avec memcpy
memcpy(echi_temp.echi,echiquier,sizeof(int)*(8*8));
0