Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。}}上記のようなコードなんですが、enumの範囲外(0~3以外)が入力されるかもしれない場合にどうするのが一般的なのでしょうか?そのままstatic_castしてswitchのdefaultで処理すればいいでしょうか。return;でもこれだとenumが連続でない場合に複雑になるよな、と悩んでいます。12:11提供されるクラスのメソッドがそうなっているので、引数の型は変えられない前提でお願いします。汎整数型又は列挙型の値は、明示的に列挙型に変換することができる。元の値が変換先の列挙型の値の範囲内にある場合、その結果の値は元の値のままとする。ない場合、結果の列挙型の値は、未規定とする。9列挙型の列挙値の範囲にある場合、値は、変換によっても変化しない。ない場合、結果の列挙値は、規定しない。すれば未規定の状況を避けることができてより厳密で安全になります。実装されていることから、処理系がどう挙動するかはほぼ自明です。要するに整数値をそのまま扱うだけです。整数型の値がそのまま列挙型の内部表現として扱われるだけ、つまり列挙型の定義にない値になる、と考えてよいです。定義に無い値をどれかの1つの値に変換するような無駄な処理はしないと期待してよいと思います。(手元の処理系複数個で皆同じ挙動をすることをアセンブラレベルで確認済み)なのでそのままstatic_castしてswitchのdefaultで処理すればいいでしょうか。実用上は、これで良いと思います。個の銅バッジまさしく自分が知りたいことでした。ドンズバな回答ありがとうございます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。