Bonjours,
J'ai fait des modifications pour un projet open source.
Actuelement, le programme (ou plutôt jeu) affiche du texte sur la console grâce a :
info->AddLine("xxx"); et *info << "xxx";
Mes modifications m'oblige à les changer respectivement en :
guicontroller->AddText("xxx"); et *guicontroller << "xxx"
Mais comme les développeurs veulent que je fasse le moins de modifications possible à leur code et que je garde la compatibilité avec ce qu'ils ont maintenant, j'utilise #define NEW_GUI , puis #ifdef NEW_GUI ou j'en ai besoin.
Malheureusement, comme info->AddLine et *info sont utilisé partout dans le code, utiliser des #ifdef partout rendrait le tout illisible.
J'ai donc éssayer :Mais cela ne marche pas. (je ne m'y connais pas beaucoup en précompilation.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #ifdef NEW_GUI #define info->Addline(x) guicontroller->AddText(x) #define *info *guicontroller #endif
Peut-être que #define AddLine(x) guicontroller->AddText(x) pourrai marcher, mais cela ne m'arrange pas car je devrais modifier le code a beaucoup d'endroits. Et cela ne marcherait de toute facon pas pour #define *info *guicontroller
J'aimerai juste que le précompilateur remplace le texte de gauche par celui de droite.
Est-ce que je demande est possible , ou doit-je chercher une autre solution?
Merci
Partager