当我尝试编译项目中,我得到一个C2440错误说'initializing' : cannot convert from 'vector<component_count>' to 'vector_2D'.
在C2440的MSDN文档说The compiler cannot cast from 'type1' to 'type2'.
我有一个基类,矢量:需要帮助修复奇怪的模板错误
template <unsigned int component_count>
class vector {...}
和派生类, vector_2D:
class vector_2D : public vector<2>
我的基类定义了默认和复制构造函数,以及运算符重载。它给我的错误代码是:在前面创建
vector_2D character_position = pen_position + vector_2D(offset_x, offset_y);
pen_position作为
vector_2D pen_position(string_position);
我似乎无法修复我的错误。任何人都可以指出哪里出了问题和/或如何解决它?
什么是原型的'运营商+'超载? –
你的'operator +'是如何声明/定义的? – Yuushi
它是:vector operator +(const vector&a_vector)const – Cole