Supprimer les cases d'un tableau

Résolu/Fermé
Scoleproj Messages postés 231 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 août 2022 - 9 mars 2010 à 20:35
fiddy Messages postés 11067 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 mars 2010 à 21:44
Bonjour,
je voudrais savoir comment faire pour diminuer la taille d'un tableau allouer dynamiquement en C++.
j'ai essayé de faire
    //pour le cas ou taille>size;
           for(i=size;i<taille;i++){//size c'est la nouvelle taille du tableau et taille est l'ancienne taille du tableau 
             delete t[i];   
        }

Mais j'ai une erreur qui s'affiche.
Pouvez vous m'aidez svp.

3 réponses

fiddy Messages postés 11067 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 813
9 mars 2010 à 21:12
Avec l'opérateur new[], ce n'est pas possible directement, il faut le faire manuellement.
Cependant, tu peux utiliser le template std::vector.

Cdlt,
0
Scoleproj Messages postés 231 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 août 2022 26
9 mars 2010 à 21:25
Merci pour la reponse , mais j'ai resolu le probleme en copiant les valeurs du tableau dans un buffer, puis j'ai alloué un nouveau un tableau et apres j'ai copié ces valeurs dans le nouveau tableau alloué.Cependant je vais essayé de le faire avec le template vector.
Merci et Bonne continuation .
0
fiddy Messages postés 11067 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 813
9 mars 2010 à 21:44
Oui, c'est ce que j'appelais la version "manuelle". Cependant, en évitant les delete, new, il est possible d'utiliser les malloc et realloc (pour la réallocation) et free (pour libérer les ressources).
Mais, les vector correspondront, je pense, mieux à ton besoin.

Cdlt,
0