2009-09-23 6 views
0

Est-ce que quelqu'un a eu des problèmes avec la procédure d'effacement trouvée dans le paquet Ada.Containers? Il semble régler la longueur du conteneur à zéro, mais une fois qu'un autre élément est ajouté en utilisant la procédure Append, le contenu du conteneur réapparaît (c'est-à-dire qu'il ne sera jamais supprimé). J'ai essayé à la fois Ada.Containers.Doubly_Linked_Lists et Ada.Containers.Vectors. Les deux conteneurs ont le même comportement. Des pensées?Ada Ada.Containers Procédure d'effacement Problème

+0

Quel compilateur? Quelle plateforme? Je viens de regarder dans le corps du paquet Ada.Containers.Vectors de GNAT GPL 2009 et ça semble aller bien. J'ai aussi piraté ensemble une vérification rapide du comportement du vecteur et ça aussi, ça allait. –

Répondre

0

Il me semble que vous avez trouvé un bug dans l'implémentation de ce compilateur par votre compilateur. Je le signalerais.

0

Je l'ai compris. Ada stupide. Vous devez faire attention à la façon dont vous faites référence aux données. Ada aime renvoyer des copies de données plutôt que des références à celles-ci.

+0

En fait, votre compilateur Ada peut retourner des données comme bon lui semble. Si vous avez besoin d'un mécanisme de passage de référence, vous devez soit passer le paramètre en utilisant la méthode "access", soit utiliser une référence au type de données. Je pense que la seule exception est les types marqués, qui doivent être passés par référence. –

Questions connexes