Vieux lion tu es un bon !
Avec 4 caractères tu sais faire un source qui marche.
Il faut être prudent sur les accusations des plateformes !
-------------------------------
Réponse au message :
-------------------------------
> Bonjour,
> il manque pas mal de choses dans ton extrait
> j'ai comblé les trous à ma façon
> j'ai laissé tes messages dans le texte
> je n'ai pas de problème avec ce code sous VC++6 suivant
>
>
> #include <iostream>
> #include <vector>//pour rapidement faire ton vecteur
> using namespace std;
>
> //la classe template du vieuxLion
> template <class T> class vecteur
> {
> friend vecteur<T> operator*(T t,const vecteur<T>& v)
> { vecteur vv(v);
> for (int i=0; i<vv.v_.size(); i++) vv.v_[i]*=t;
> return vv;
> }
> friend ostream& operator<<(ostream& os, const vecteur<T>& v);
> private:
> vector<T> v_;
> public:
> vecteur(int dim=0) {v_.reserve(dim);}
> T& operator[](int index){ return v_[index];}
> };
>
> template <class T> ostream& operator<<(ostream& os, const vecteur<T>& v)
> {for (int i=0; i<v.v_.size(); i++) os << v.v_[i]; return os;}
>
>
> //je fais une déclaration comme suit:
>
> //dans mon main
> //je l'appelle comme suit:
> int main()
> {
> vecteur<float> u(2);
> u[0]=3.14F;// avec F retirons le warning (vieuxLion)
> cout<<2*u;//(j'ai crée une classe vectorielle!)
> //sous linux(g++) ca roule! mais sous dev C++ j'ai l'erreur suivante:
> // no match for int * vecteur<float> &
> // mais si je fais
> cout<<float(2)*u;
> //ca marche!!!!
> //Ok 2 est entier, mais bon par défaut c'est également un
> //float mince!!!!!!Alors je comprends pas...
> //Je voulais commencer à programmer sous un environnemet windows mais la c raté!!!!
>
> return 0;
> }
>
>
> j'espère que ça t'aidera ...

>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > je fais une déclaration comme suit:
> > friend vecteur<T> operator*(T,const vecteur<T>&)
> >
> > dans mon main
> > je l'appelle comme suit:
> > vecteur<float> u(2);
> > u[0]=3.14;
> > cout<<2*u;(j'ai crée une classe vectorielle!)
> > sous linux(g++) ca roule!!!!!
> > mais sous dev C++
> > j'ai l'erreur suivante:
> > no match for int * vecteur<float> &
> > mais si je fais
> > cout<<float(2)*u;
> > ca marche!!!!
> > Ok 2 est entier, mais bon par défaut c'est également un
> > float mince!!!!!!Alors je comprends pas...
> > Je voulais commencer à programmer sous un environnemet windows mais la c raté!!!!
> >
> > merci à tous!!!!
> > et vive Cppfrance!!!
> > Nadir.

>