我制作了一个简单的Vector2
模板类,用于存储一个X
和一个Y
值。现在我试图在源文件中保留模板的实现,但是我无法通过运算符重载来做到这一点
class Vector2
{
public:
Vector2<Type>();
Vector2<Type>(Type x, Type y);
Vector2<Type>(const Vector2<Type> &v);
~Vector2<Type>();
Vector2<Type> operator+ (const Vector2<Type> &other)
{
return Vector2<Type>(x + other.x, y + other.y);
}
private:
Type x, y;
};
现在它可以编译并且工作得很好,但它当前位于头文件中。实现构造函数和Vector2
解构函数也很好,但是当我尝试以下操作时:
。H:
Vector2<Type> operator+ (const Vector2<Type> &other);
.cpp:
template <class Type>
Vector2<Type>::operator+ (const Vector2<Type> &other)
{
return Vector2<Type>(x + other.x, y + other.y);
}
编译器告诉我:
missing type specifier - int assumed. Note C++ does not support default-int
亲切的问候,我