缺少类模板Vec2的参数列表

时间:2015-08-20 14:17:22

标签: c++ arguments friend

我正在定义一个带有友元函数的Vec2类。我收到错误:朋友函数缺少类模板Vec2的参数列表:朋友Vec2操作符*(const T& r,const Vec2& v)。

    template<typename T>
    class Vec2
    {
    public:
        Vec2() : x(0), y(0) {}
        Vec2(T xx) : x(xx), y(xx) {}
        Vec2(T xx, T yy) : x(xx), y(yy) {}
        Vec2 operator + (const Vec2 &v) const
        { return Vec2(x + v.x, y + v.y); }
        Vec2 operator / (const T &r) const
        { return Vec2(x / r, y / r); }
        Vec2 operator * (const T &r) const
        { return Vec2(x * r, y * r); }
        Vec2& operator /= (const T &r)
        { x /= r, y /= r; return *this; }
        Vec2& operator *= (const T &r)
        { x *= r, y *= r; return *this; }
        friend std::ostream& operator << (std::ostream &s, const Vec2<T> &v)
        {
            return s << '[' << v.x << ' ' << v.y << ']';
        }
        friend Vec2 operator * (const T &r, const Vec2<T> &v)
        {   return Vec2(v.x * r, v.y * r); }
        T x, y;
    };

0 个答案:

没有答案