Bonjour à tous,

Je suis en train de développer un petit jeu, et je m'heurte à un petit soucis technique.
Je souhaite créer une structure (Damier) contenant un tableau de pointeur de structure.
En gros, le "damier" à toute ses cases à null en début de partie, et au fur et à mesure est remplis dynamiquement par des adresses.

Voilà le code ( que je pense juste, enfin j'espere) que j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
struct TCellule
{
	Tpion *pion;
};//Une cellule contient l'adresse d'un pion
 
typedef struct
{
	struct TCellule matrice[KMAX_LONG_LIGN][KMAX_LONG_COLO];
}TDamier;//Un damier est composé d'une matrice de cellule
Maintenant, pour accéder au contenu d'une cellule(l'adresse d'un pion), il me semble que la syntaxe correcte doit être :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
damier.matrice[i][j].pion
Enfin imaginons que l'on créé un pointeur de damier pG (pour le passer en paramètre d'une fonction par exemple), l’accès à la cellule serait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
pG->matrice[plign][pcolo].pion
//ou
(*pG).matrice[plign][pcolo].pion
Or je dois m'être planté dans ce que j'ai fait plus haut car lors de la compilation cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
return (! pG->matrice[plign][pcolo].pion == NULL);
le compilo me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
warning: comparison between pointer and integer
Donc voilà, je ne comprends pas pourquoi cela ne fonctionne pas, vous avez une idée?