Problème de structure en C

Pseudo -  
 le père -
Bonjour, (ccm pourrait programmer un "bonsoir" en fonction de l'heure quand même :p !)

Donc voila j'ai codé une petite structure "pos" qui contient juste x et y, bref a chaque fois que j'y fais appel, j'ai un message d'erreur "main.c syntax error before "pos". Je ne sais pas pourquoi je ne vois pourtant aucune erreur (en même temps coder si tard...)

La structure :
typedef struct pos pos;
struct pos
{
int x;
int y;
};

et un exemple d'utilisation :
int
findPath (int lab[][LABY], pos posStart, pos posEnd);


Une idée pour corriger mon erreur (surement stupide d'ailleurs :\)

7 réponses

java4ever
 
Bonjour,

A mon avis, ton erreur n'est pas sur la déclaration de la structure, même si la façon "propre" est celle donnée par lucas06150.
Je vois que ta fonction a un argument tableau à 2 dimensions, et là, ça sent le pâté !
Comment ce tableau est-il initialisé ?
Comment y accèdes tu dans ta fonction ?

Cherches de ce côté là, je pense qu'il y a une tentative d'accès illégale à la mémoire.

Cordialement
1
le père
 
Bonjour

Il est totalement impossible qu'il y ait tentative d'accès illégal à la mémoire.
Pseudo a une erreur de syntaxe, autrement dit une erreur à la compilation. Puisque son programme n'est pas compilé, il ne risque pas de faire quoi que ce soit !
0
lucas06150 Messages postés 151 Date d'inscription   Statut Membre Dernière intervention   11
 
Salut,

Peut-être comme ça :

typedef struct {

  int x;
  int y;

} pos;

0
Pseudo
 
Non j'ai toujours les mêmes erreurs =\
0
le père
 
Bonjour

La définition de pos est-elle dans la portée de l'endroit où tu définis int findPath (int lab[][LABY], pos posStart, pos posEnd); ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pseudo
 
oui je définis la structure pos avant findpath mais c'est vrai que c'est étrange parce que je n'ai pas le bug dans le main

Vous voulez le code source complet pour chercher ?
0
le père
 
ok
0
watou Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,
essaie ça :
struct pos 
{ 
      int x; 
      int y; 
}; 
typedef struct pos pos; 

remarque : que tu veux utiliser la structure pos tu fais :
struct  pos  posStart;
0
le père
 
Bonjour,

Je ne comprends pas le sens de ta remarque.
Quand on se donne la peine de définir typedef struct pos pos; c'est justement pour pouvoir écrire simplement
pos  posStart;
au lieu de
struct pos  posStart;
0