Bonjour,

J'ai créé une classe template stack. Comme elle est complexe, j'ai voulut surcharger l'opérateur d'affection ( = ).
Mais il y a malheureusement quelques erreurs(en commentaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
template <class T> //contained type
stack& stack<T>::operator=(stack &source) {
/////////////////////////////////////////////////////////////////////////////////////
//'stack' : l'utilisation d'une classe modèle requiert une liste d'arguments modèle
/////////////////////////////////////////////////////////////////////////////////////
    if (&source=this) {
        erreur error;
        error.errornum=4;
        error.msg="Function have not utility";
        throw (error);
    }
    ~stack();
    if source.get_size()<=0 {
        erreur error;
        error.errornum=2;
        error.msg="Out of range";
        throw (error);
    }
    premier=new contain;
    dernier=premier;
    contain.suivant=NULL;
    contain.precedant=NULL;
    contain.donnee=source.get_front();
    for (int i=1;i<source.get_size();i++)
        push_back(source.get_front(i));
    return *this;
}
/////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
//'stack<T>::operator =' : impossible de faire correspondre la définition de fonction avec une déclaration existante POURTANT J'AI BIEN MIS SON PROTOTYPE
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
Merci d'avance,
ProgVal