Bonjour.
Problème dont la réponse doit être toute simple mais que je ne connais pas.
J'ai une classe Color.
Elle possède les constructeurs :
Pour le premier constructeur, on s'attend à ce que la couleur soit construite comme ça : Color red(255, 0, 0);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Color(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha = 255); Color(float red, float green, float blue, float alpha = 1.f);
Dans le deuxième, elle est construite comme ça : Color red(1.f, 0.f, 0.f);
Or, dans le premier cas Color red(255, 0, 0), le compilateur ne sais pas quelle constructeur utiliser :
Quelle solution puis-je utiliser pour que le compilo puisse deviner quel constructeur utiliser, suivant que j'utilise des uchar ou des float?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 1>..\src\ExEngine\Graphics\Color.cpp(17) : error C2668: 'ex::Color::Color' : ambiguous call to overloaded function 1> D:\Excellence\include\ExEngine/Graphics/Color.hpp(15): could be 'ex::Color::Color(float,float,float,float)' 1> D:\Excellence\include\ExEngine/Graphics/Color.hpp(14): or 'ex::Color::Color(sf::Uint8,sf::Uint8,sf::Uint8,sf::Uint8)' 1> while trying to match the argument list '(int, int, int)'
Je bosse sous Visual Studio 2008
Partager