Bonjour,
je suis en train de refaire la classe vector de la STL (le prétentieux, non c'est juste pour pas perdre la main, pas la perdre plus en tout cas).
La j'ai un petit souci, j'ai codé ca :
Ces deux methodes sont declaré comme ca dans le corps e la classe :
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 template < class T > Vector< T > Vector< T >::operator+( Vector< T > &right){ Vector< T > vec ; vec.lst = lst; vec.lst.insert( vec.lst.end(), right.lst.begin(), right.lst.end() ); return vec; } template < class T > Vector< T >& Vector< T >::operator=(Vector< T > &right){ lst.clear(); lst.insert( lst.begin(), right.lst.begin(), right.lst.end() ); return *this; }
dans mon mon de test des fois ca compil pas (ca c'est normal), mais je ne comprends pas et j aime pas trop
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Vector operator+(Vector &right); Vector& operator=(Vector &right);
et la on me dit :
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 //En haut du main //Pour que l'appel soit plus sympa //D'ailleur au passage si vous connaiisez mieux que ca ;) #define IntVecteur Vecteur<int> int main( char** argc, int argv ){ IntVecteur v1; IntVecteur v2; IntVecteur v3; //Je leur met quelques valeurs de test //... v3 = v1 // Ca ca marche V1 + v2 // Ca ca marche aussi v3 = v1 + v2 // La ca coince }
je ne comprends pas si vous pouviez me donner une explicationEnvoyé par c++ de NetBSD
Partager