Je viens de faire une opération qui, me semble-t-il, a révélé un bug (tout se passe dans le volet C++ des opérations):
Dans une classe, j'ai déclaré une fonction abstraite renvoyant un objet de la classe (fonction de clonage).
Pour me permettre de réutiliser plus facilement cette fonction dans les classes dérivées, j'ai exprimé sa déclaration :
- Code: Select all
${comment}${friend}${static}${inline}${virtual}${class} &${name}${(}${)}${const}${volatile}${throw}${abstract};
Le souci est apparu lorsque j'ai ajouté l'opération à une classe dérivée (au moyen de l'entrée dans le menu contextuel de la classe) :
La déclaration était formée exactement comme prévu, permettant d'obtenir le type de retour souhaité automatiquement.
Par contre, la définition ne l'a pas fait. j'ai trouvé ${type} comme valeur de retour. J'ai donc cliqué 'A partir de la déclaration', et là aucun changement n'a été effectué.
J'ai ensuite reproduit le problème en créant une fonction, lui donnant un type de retour, puis j'ai modifié la ligne de déclaration en remplaçant à nouveau ${type} par ${class}. Là encore, le bouton 'A partir de la déclaration' n'a pas eu l'effet escompté. Il maintient obstinément ${type} comme valeur de retour.
Il semble donc que ce bouton ne rende pas à tous les coups la définition identique à la déclaration.
[edit]: Veuillez noter également que le pointeur n'est pas non plus reproduit. Par contre, les autres changements sont reflétés (j'ai essayé en ajoutant du texte entre les parenthèses).
Pouvez-vous me confirmer s'il s'agît bien d'un bug, et sinon me dire ce que j'ai fait faux?
Par avance merci

A bientôt
Marc