min max puff puff
Недавно мучался, не мог понять, почему не компилируется код std::numeric_limits<size_t>::max(). Долго тупил, пока не заметил, что компилятор пишет warning о нехватке параметров для макроса.
Оказалось, в файле WinDef.h есть такой код:
#ifndef NOMINMAX #ifndef max #define max(a,b) (((a) > (b)) ? (a) : (b)) #endif #ifndef min #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif #endif /* NOMINMAX */
Идиотизм, честное слово. Перед включением Windows.h нужно определить NOMINMAX: #define NOMINMAX.
0 коммент.:
Отправить комментарий