我發現我不能直接比較兩個SDL_point
S:比較兩個SDL_point?
SDL_Point a = {1, 2};
SDL_Point b = {1, 2};
if (a == b) std::cout << "a = b\n"; // Doesn't compile.
if (a.x == b.x && a.y == b.y) // I have to do this instead.
std::cout << "a = b\n";
我想超載operator==
,但由於SDL_Point
是部分SDL,我不知道怎麼樣,因爲我可能要在我的遊戲的許多不同類中使用重載操作符。
這樣做的正常方法是什麼?
比較運算符重載可以是[自由函數](http://en.cppreference.com/w/cpp/language/operator_comparison),而不僅僅是成員函數。 – genpfault