SO ( Using NaN in C++ )に関する別の質問を見た後、私はstd::numeric_limits<double>::signaling_NaN()
.
signalling_NaN を取得して例外をスローすることができませんでした。おそらくシグナルを送ることで本当にシグナルを意味すると思ったので、SIGFPEをキャッチしようとしましたが、違います...
これが私のコードです:
double my_nan = numeric_limits<double>::signaling_NaN();
my_nan++;
my_nan += 5;
my_nan = my_nan / 10;
my_nan = 15 / my_nan;
cout << my_nan << endl;
numeric_limits<double>::has_signaling_NaN
true と評価されるため、私のシステムに実装されています。
何か案は?
ms Visual Studio .net 2003 の C++ コンパイラを使用しています。家に帰ったら、別のものでテストしたいと思います。
ありがとう!