• [^] # Re: une piste

    Posté par . En réponse au message Wm4 WildMagic et MinGW. Évalué à 3.

    tu sais ... tu donnes pas beaucoup d'info ... il y a pas de code ... comment peut-on t'aider ? Doit-on énumérer toutes les causes possibles ?

    as-tu écrit correctement ton template ? en voici un :

    MonTemplate.hpp
    -------------------------------------------------

    #ifndef TEMPLATE_H
    #define TEMPLATE_H

    #include <vector>

    template <class T>
    class MonTemplate : public std::vector<T>
    {
    public:
    MonTemplate();
    MonTemplate(int n);
    MonTemplate(int n, const T& t);
    MonTemplate(const MonTemplate<T>&v);
    MonTemplate(const std::vector <T> &v);
    ~MonTemplate();
    MonTemplate& operator<<(const T& right);
    MonTemplate& operator+=(const MonTemplate<T>&v);
    };
    #include "MonTemplate.tpp"
    #endif

    -------------------------------
    MonTemplate.tpp
    -------------------------------

    template <class T>
    MonTemplate<T>::MonTemplate() : std::vector<T>(){}
    template <class T>
    MonTemplate<T>::MonTemplate(int n) :std::vector<T>(n){}
    template <class T>
    MonTemplate<T>::MonTemplate(int n, const T& t) :std::vector<T>(n,t){}
    template <class T>
    MonTemplate<T>::MonTemplate(const MonTemplate<T>&v) :std::vector<T>(v){}
    template <class T>
    MonTemplate<T>::MonTemplate(const std::vector<T> &v) :std::vector<T>(v){}
    template <class T>
    MonTemplate<T>::~MonTemplate() {}
    template <class T>
    MonTemplate<T>& MonTemplate<T>::operator<<(const T& right)
    {
    this->push_back(right);
    return *this;
    }
    template <class T>
    MonTemplate<T>& MonTemplate<T>::operator+=(const MonTemplate<T>&v)
    {
    this->insert(this->end(), v.begin(), v.end());
    return *this;
    }