C ++標準ではstd::ios::openmode、、、std::ios::fmtflagsおよびstd::ios::iostateは実装で定義されています。しかしstd::ios::goodbit、ゼロに等しくなるように標準化されています。私の質問は、これらのビットマスクを標準に従ってブール値にキャストできるかどうかです。つまり、エラーフラグが設定されているかどうかをテストするには、次のように入力できますか。
inline void myFunction(std::ios::iostate x = std::ios::goodbit)
{
if (x) { // <- is it ok or do I have to type "if (x != std::ios::goodbit)" ?
/* SOMETHING */
}
}