Comparaison et numeric_limits - C++ - Programmation
Marsh Posté le 30-07-2008 à 23:37:16
juste une suggestion (j'en sais rien), un truc comme ca:
"truc == double(std::numeric_limits<double>::max())"
Marsh Posté le 31-07-2008 à 08:54:27
t'es sous Microsoft Visual Studio 6 ou superieur non ?
#undef min
#undef max aprés les include
Marsh Posté le 31-07-2008 à 10:21:38
Taz a écrit : super ce double(...) |
simple suggestion, y'a des languages ou ca marche
Marsh Posté le 31-07-2008 à 11:04:17
Ben_be a écrit : |
ouais enfin bon numeric_limits<T>::max() retourne déjà un T ...
Marsh Posté le 31-07-2008 à 11:23:16
Taz a écrit : |
comment dire?
bien vu
Marsh Posté le 30-07-2008 à 23:19:13
Bonjour à tous,
je bosse sur un programme où j'applique l'algorithme de Dijkstra sur un graphe (le graphe et Dijkstra sont ceux fournis par Boost). Je récupère un vector des distances de mon point source aux autres points du graphe, et j'ai besoin de savoir quels sont les points qui sont à distance finie de mon point source. Dijkstra-Boost utilise par défaut std::numeric_limits<double>::max() pour représenter une distance infinie, ce qui me va très bien, sauf que, si je veux faire une comparaison type "machin == std::numeric_limits<double>::max()" ou "machin < std::numeric_limits<double>::max()", je me prends un :
binary '==' : no operator found which takes a right-hand operand of type 'std::numeric_limits<double>::_Ty' (or there is no acceptable conversion)
Donc la question (enfin...) est : comment faire une comparaison avec std::numeric_limits<double>::max() ?
Merci d'avance