Код: Выделить всё
#include // includes WinDef.h which defines min() max()
#include
using std::cin;
using std::cout;
void Foo()
{
int delay = 0;
do
{
if(cin.fail())
{
cin.clear();
cin.ignore(std::numeric_limits::max(), '\n');
}
cout > delay) || delay == 0);
}
< /code>
, что дает мне ошибку в Windows, заявляя, что макрос Max < /code> не принимает столько аргументов. Это означает, что я должен сделать это < /p>
do
{
if(cin.fail())
{
cin.clear();
#undef max
cin.ignore(std::numeric_limits::max(), '\n');
}
cout > delay) || delay == 0);
< /code>
, чтобы заставить его работать. Это довольно уродливо; Есть ли лучший способ обойти эту проблему? Может быть, я должен хранить определение максимума Подробнее здесь: https://stackoverflow.com/questions/115 ... max-in-std