Chcę przeciążyć operatory, które będą działać dla kilku podobnych typedef'ów sf::Vector2u, sf::Vector2f, sf::Vector2i itd.
Wszystko widać na screenie:
Jak powinienem to zrobić żeby banglało ?
Chcę przeciążyć operatory, które będą działać dla kilku podobnych typedef'ów sf::Vector2u, sf::Vector2f, sf::Vector2i itd.
Wszystko widać na screenie:
Jak powinienem to zrobić żeby banglało ?
Przecież sf::Vector2
ma przeładowany operator+ https://www.sfml-dev.org/documentation/2.5.1/classsf_1_1Vector2.php#a72421239823c38a6b780c86a710ead07
Nie jestem na 100% pewien, ale z komunikatu błędu i nazewnictwa wnioskuję, że problemem jest próba utworzenia sf::Vector2f{ dx,dy }
, gdzie potencjalnie tracisz precyzję przy zamianie unsigned int
⟶float
. Sprawdź inicjalizację za pomocą ()
zamiast {}
, albo spróbuj rzutować: sf::Vector2f{ float(dx), float(dy) }
Jeszcze mam takie pytanie, jakbym chciał, żeby ten operator był dostępny w całym projekcie to wrzucić go jako globalny ?
Prawdopodobnie spowoduje problemy z innymi fragmentami kodu. Dałem linka do dokumentacji SFML - wyraźnie widać, że Vector2f ma przeładowany operator+, po co chcesz swój?