J'ai un problème avec typedef, voici grosso modo la structure de mon petit projet
main.c
main.h#include "main.h"
... du code ....
test.c#ifndef _main
#define _main
typedef struct
{
Int32 ma_variable;
} ma_structure;
#endif
test.h#include "main.h"
#include "test.h"
void essai(ma_structure *ptr)
{
ptr->ma_variable = 0;
}
Quand je compile j'ai une erreur dans test.h sur ma_structure qui n'est pas reconnu, si je déplace le prototype dans test.c, ça marche.#ifndef _test
#define _test
void essai(ma_structure *ptr);
#endif
Si je recopie la definition de ma_structure dans test.h ça marche aussi.
Y a pas une solution pour avoir une seule déclaration de ma_structure et surtout laisser le prototype essai dans test.h car j'en aurais besoin dans d'autres sources ?
Merci d'avance
Partager