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 коммент.:
Отправить комментарий