Syntaxe typedef dans un header

Fermé
JwTdd - 21 mai 2013 à 23:30
 JwTdd - 22 mai 2013 à 00:41
Bonjour,
j'essai de dispatcher des codes dans differents fichiers cpp pour rendre mon programme plus lisible, pour les fonctions aucun soucis, soit le fichier A.cpp, B.cpp et B.hpp, voici ce que je fais(resumé au max...):
A.CPP
#include "B.hpp"
int main()
{
 return mafonction(0);
}


B.CPP
int mafonction (int A)
 {
   return A;
 }

B.hpp
int mafonction(int A);


Jusque là aucun soucis maintenant se que je veux mettre dans B.cpp c'est:
#include <FL/Fl.H>
#include <FL/Fl_Input.H>

typedef struct _cb_svg_data_type {
	Fl_Input* cyclesvg;
	Fl_Input* deltasvg;
        Fl_Input* maxsvg;
	Fl_Input* height;
	Fl_Input* width;
	Fl_Input* decaleXsvg;
	Fl_Input* decaleYsvg;
	Fl_Input* filesvg;
} cb_svg_data_type;


que dois-je mettre dans B.hpp pour pouvoir utiliser cette structure dans A.cpp?

lorsque je met
typedef struct _cb_svg_data_type cb_svg_data_type;

lorsque je fait cb_svg_data_type cb_svg_data;
dans A.cpp j'ais le message d'erreur suivant:
aggregate 'cb_svg_data_type cb_svg_data' has incomplete type and cannot be defined

Merci d'avance.

1 réponse

bon en ecrivant entierement ma structure dans B.hpp (inclu à A.cpp) ça fonctionne mais du coup il est ecrit entierement à la fois dan B.cpp et B.hpp, le compilateur a l'air de laisser passe mais je ne sais pas si c'est la bonne (la seule?) méthode.
0