Здравствуйте vladsm, Вы писали:
V>Здравствуйте grs, Вы писали:
grs>>См. заголовочный файл values.h. Там и определены эти константы.
V>В VС такого хедера нет. Нашел в какой-то борландовской версии. Там константа определена так:
V>
V>#define MAXDOUBLE 1.797693E+308
V>
Да, точно. Я в шоке, блин. По идее это стандартный заголовок. По крайней мере есть во всех Borland'овских версиях и в версии компайлера для SCO Unix. Причем в комметарии в Borland'е специально пишется о совместимости с System V5. MS решил, значит, на это дело положить...
MS>Это то как раз я и имел ввиду но почему то компилятор ругается
MS>
MS>error C2059: syntax error : '::'
MS>error C2589: '(' : illegal token on right side of '::'
MS>warning C4003: not enough actual parameters for macro 'max'
MS>
MS>
Самый тупой способ
#if defined max
#undef max
double dMax = std::numeric_limits<double>::max();
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
Здравствуйте Анатолий, Вы писали:
grs>>См. заголовочный файл values.h. Там и определены эти константы. А>А может Вы и этим заголовочным файлом поделитесь
Легко, если адрес дашь, куда писать. А в принципе я надеюсь, что в любом другом компайлере, кроме MS он присутствует. Хотя могу и ошибаться.
Насчет тупости и не тупости в windef.h(где определены min max) есть опоясывающие макросы
Так что достаточно их встивать перед windows.h и можно юзать numeric_limits без шаманства
Здравствуйте grs, Вы писали:
grs>Здравствуйте vladsm, Вы писали:
V>>Здравствуйте grs, Вы писали:
grs>>>См. заголовочный файл values.h. Там и определены эти константы.
V>>В VС такого хедера нет. Нашел в какой-то борландовской версии. Там константа определена так:
V>>
V>>#define MAXDOUBLE 1.797693E+308
V>>
grs>Да, точно. Я в шоке, блин. По идее это стандартный заголовок. По крайней мере есть во всех Borland'овских версиях и в версии компайлера для SCO Unix. Причем в комметарии в Borland'е специально пишется о совместимости с System V5. MS решил, значит, на это дело положить...
Стандартный заголовок называется 'float.h' и константа (макрос) называется DBL_MAX. Я не сомневаюсь, что у MS он есть.