Я решил использовать NAN
(также пытался std::numeric_limits::quiet_NaN()
) в качестве значения по умолчанию для аргумента функции, но когда я попытался проверить его с помощью std::isnan
, он вернул false
.В то же время значение было выведено на консоль с помощью qDebug()
, и я увидел nan
.
Также я попытался проверить на NAN
, используя правило x != x
.Он работал для NAN != NAN
, но получил false
для x != x
.
Последняя попытка была определить NAN
двойную переменную внутри функции и попытаться проверить ее, используя оба метода, но это привело кте же результаты.
Не могу понять, что не так.
Пример:
double abc = NAN;
qDebug()<< abc << (abc != abc) << std::isnan(abc);
Вывод:
nan false false