мне нужно вывести число, если оно не равно 0, в котором выход должен быть «нан» я не могу сделатьстрока вывода «нан», если значение равно 0
int x;
...
cout << (!x ? "nan" : x);
так типов в тройных выражениях не совпадают. Я могу сделать
void f(ostream& o, int x)
{
if (!x) o << x;
else o << "nan";
}
, который выглядит немного уродливым для меня. Есть ли лучшее решение для этого? Что-то вроде
cout << nanify(x);
возможно?
Спасибо, это на самом деле довольно информативно. Я не уверен, что поеду с ним, но это похоже на «правильное» общее решение моей проблемы. – LazyCat