[eaf] Re: template, operator*

  • From: Tetra <tetra666@xxxxxxxxx>
  • To: eaf@xxxxxxxxxxxxx
  • Date: Fri, 9 May 2008 06:30:36 +0200

Szia!

Egyrészt az én g++-mal tökéletesen megy ( (3.4.2) mondjuk nem ismeri a
-Wold-style-cast -Wstrict-null-sentinel kapcsolókat, de ha azokat
kiveszem, warning nélkül lefordul az alábbi kód):

template <typename T = double>
class Vector
{
  public:
  Vector& operator*=(double)
  {
    return *this;
  }
};

template <typename T>
const Vector<T> operator*(const Vector<T>& v, double l)
{
    return Vector<T>(v) *= l;
}

int main()
{
    Vector<> v1;
    Vector<double> v4(v1 * 10);

    return 0;
}

Csak ott módosítottam, ahol értelemszerűen kell. Rem segít.

Másrészt, miért nem használsz valarray-t, amit erre találtak ki?

Other related posts: