Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1605 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme classe heritant vector : redéfinition erase()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme classe heritant vector : redéfinition erase()

n°1317368
nebaff
Posté le 02-03-2006 à 20:47:12  profilanswer
 

Bonjour à tous.
voici mon problème : je dois faire une classe héritant de vector et il me faut redéfnir la methode erase(iterator i).
en effet je reprend un code qui l'utilise n'importe comment il je veux controler les suppression sans changer l'ancien code
 
voici la classe Object3dvector.hpp

Code :
  1. #ifndef OBJECT3DVECTOR_HPP
  2. #define OBJECT3DVECTOR_HPP
  3. #include <vector>
  4. #include "../Geometry/Objet3d.hpp"
  5. #include <iterator>
  6. using namespace std;
  7. template <class T>
  8. class Object3dvector: public std::vector<T> {
  9. public:
  10.   Object3dvector();
  11.   ~Object3dvector();
  12.   //void erase(vector<T>::iterator pos);
  13.   void clear();
  14. };
  15. template <class T>
  16. Object3dvector<T>::Object3dvector()
  17. {}
  18. template <class T>
  19. Object3dvector<T>::~Object3dvector()
  20. {}
  21. /*template <iterator I> */
  22. /*template <class T>
  23. void Object3dvector<T>::erase(__gnu_cxx::__normal_iterator<T*, std::vector<T, std::allocator<T> > >& ){
  24.         std::cout << "----------------------------  appel effacement -------------" << endl;
  25.        // return erase(T);
  26. }*/
  27. template <class T>
  28. void Object3dvector<T>::clear(){
  29.         //std::cout << "----------------------------  appel clear -------------" << endl;
  30.         clear();
  31. }
  32. #endif


 
là ça passe mais j'ai laissé mes tentatives d'implantation de erase
en gros mon pb c'est comment arriver à déclarer un iterator<T> en param et sortie de erase.

mood
Publicité
Posté le 02-03-2006 à 20:47:12  profilanswer
 

n°1317375
skelter
Posté le 02-03-2006 à 21:13:54  profilanswer
 

typename pour dire que c'est un type (ton compilateur a besoin de le savoir vu qu'il ne connait pas T, alors pour ses types membres...)
 
deja reprojete via typedef (+ typename) les types membre de std::vector ca sera plus simple
et pas de 'using namespace std' dans un en-tete !


Message édité par skelter le 02-03-2006 à 21:14:12
n°1317894
nebaff
Posté le 03-03-2006 à 15:55:24  profilanswer
 

ok merci je vais voir ça ! :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme classe heritant vector : redéfinition erase()

 

Sujets relatifs
probleme de creation automatique d'image sur un ftpFCKeditor 2.2 upload problème de dossier
[J2ME] Bluetooth, probleme avec startInquiry()problème T-SQL
probleme boucle... grosse boucle... voir probleme à la finProblème CSS entre IE et Firefox
[RESOLU]probleme de recuperation des lignes d'une requete mysqlprobleme pour vérifier cochage de cases radio
Problème avec Win 2000 et script de config de proxy automatique[Résolu] Problème sur Dreamweaver pour formulaire
Plus de sujets relatifs à : Probleme classe heritant vector : redéfinition erase()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR