Often people #define min(x,y) (x < y ? x : y) and that will be expanded in the definition of std:: min, which will blow up.