當我嘗試編譯項目中,我得到一個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