Does <algorithm> define a macro X?

Viewed 232

I tried to compile the code with option C++14:

#define X static_cast<double>(2)
#include <algorithm>
// if you change the two lines, no error occurs

int main()
{
    return 0;
}

But I get error after X:

error: expected ',' or '...'

I do not get error with option C++98. With my gcc version 4.8.4, I don't get error, but with 5.4.0 I do. Is this a bug? Do I do something wrong?

1 Answers
Related