W8068 比較において定数が範囲外 (-wrng) (C++)

提供: RAD Studio
移動先: 案内検索

コンパイラのエラーと警告(C++):インデックス への移動

(この警告を抑止するコマンドラインオプションは -w-rng)

ソースファイルに比較がありますが,一方の定数部分式がもう一方の部分式の型で許可される範囲にありません。

たとえば,符号なしの数値を -1 と比較しても無意味です。

32,767(10 進数)より大きな符号なし定数を取得するには,次のいずれかを行う必要があります。

  • 定数を符号なしにキャストする。たとえば,"(unsigned) 65535" とします。
  • 文字 u または U を定数に追加する。たとえば,"65535u" とします。

このメッセージが生成されても,コンパイラは比較を行うコードを生成します。

このコードが常に同じ結果になる場合でも(文字式を 4000 と比較するなど),テストは実行されます。