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 :
- #ifndef OBJECT3DVECTOR_HPP
- #define OBJECT3DVECTOR_HPP
- #include <vector>
- #include "../Geometry/Objet3d.hpp"
- #include <iterator>
- using namespace std;
- template <class T>
- class Object3dvector: public std::vector<T> {
- public:
- Object3dvector();
- ~Object3dvector();
- //void erase(vector<T>::iterator pos);
- void clear();
- };
- template <class T>
- Object3dvector<T>::Object3dvector()
- {}
- template <class T>
- Object3dvector<T>::~Object3dvector()
- {}
- /*template <iterator I> */
- /*template <class T>
- void Object3dvector<T>::erase(__gnu_cxx::__normal_iterator<T*, std::vector<T, std::allocator<T> > >& ){
- std::cout << "---------------------------- appel effacement -------------" << endl;
- // return erase(T);
- }*/
- template <class T>
- void Object3dvector<T>::clear(){
- //std::cout << "---------------------------- appel clear -------------" << endl;
- clear();
- }
- #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.