Je remarqué je ne peux pas comparer directement les deux SDL_point
s:Comparez deux 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";
Je voudrais surcharger le operator==
, mais depuis SDL_Point
fait partie de SDL, je ne sais pas comment, parce que je veux utiliser l'opérateur surchargé dans beaucoup de différentes classes de mon jeu.
Quelle est la manière normale de faire ceci?
Les surcharges d'opérateur de comparaison peuvent être [fonctions libres] (http://en.cppreference.com/w/cpp/language/operator_comparison), pas seulement les fonctions membres. – genpfault