Je rencontre quelques soucis avec la generation de forward declaration. Ne sachant comment la modéliser en UML, j'ai écris un code en C++ et demandé à Bouml de générer l'UML ce qu'il a fait notamment à l'aide d'une liaison de dépendance récursive. Le code était le suivant :
- Code: Select all
typedef struct machin machin;
class truc
{
machin *variable;
};
En regénérant le code UML issu du modèle, je retrouve le bon code.
Malheureusement, en reproduisant la même modélisation UML pour de nouveaux éléments (cf "nouveautype" ci-dessous), la forward déclaration dans le code généré en C++ se retrouve systématiquement APRES la déclaration de la classe, ce qui produira une erreur de compilation. Y a t-il une solution ?
- Code: Select all
typedef struct machin machin;
class truc
{
machin *variable;
void fonction(nouveautype** var);
};
typedef struct nouveautype nouveautype;
Par ailleurs, la génération inverse du code ci-dessus (avec la nouvelle déclaration placée correctement au dessus de la classe), ne produit aucun lien entre nouveautype et la classe truc. Comment faut-il procéder pour que cela soit le cas ?
Merci beaucoup