Can an integer be NaN in C++?

No, NaN is a floating point value.

Every possible value of an int is a number.

Edit

The standard says:

6.2.6.2 40) Some combinations of padding bits might generate trap
representations, for example, if one
padding bit is a parity bit.
Regardless, no arithmetic operation on
valid values can generate a trap
representation
other than as part of
an exceptional condition such as an
overflow, and this cannot occur with
unsigned types.

So there may be some implementation specific invalid integer values, but there is no defined way to generate them.

Leave a Comment