我有一個名爲Vec2D的類來處理2D矢量操作。C++ Vector2D類操作
Vec2D pos1 = Vec2D(100, 100);
Vec2D pos2 = Vec2D(100, 100);
我有運營商重載這樣的運算可以更簡單。因此,我可以做到以下幾點:
Vec2D difference = pos1-pos2;
float distance = difference .magnitude();
我想知道是有可能做算術這樣我的同班同學?:
float distance = (pos1-pos2).magnitude();
我試圖編譯,但它給了我奇怪的錯誤,因爲「Vec2D類沒有迭代器......」 我想出來的唯一原因就是能解釋這個事實,即結果中沒有類。
不應該是浮動距離=(pos1-pos2).magnitude()? – jonathanasdf
我們應該如何回答而不知道你是如何定義'operator-'?無論如何,這當然是可能的,並且是一種使用C++的流行方式。 [Eigen庫](http://eigen.tuxfamily.org/)是向量等的一個非常好的實現。 – Potatoswatter