/J (既定の char 型の unsigned への変更)
signed char から unsigned charに既定の char の種類を変更し、int の型に拡大変換される場合 char の型はゼロ拡張されたです。
/J
解説
char 値が signedとして明示的に宣言する場合は、/J オプションは影響し、int の型に拡大変換される場合は、その値が印拡張されたです。
/J オプションでは、識別子 _CHAR_UNSIGNED が定義されます。この識別子は、LIMITS.h ファイルの #ifndef で使用し、既定の char 型の範囲を定義します。
ANSI C と C++ では、char 型の特別な実装は必要ありません。 /J オプションが必要になるのは、最終的に英語以外の言語に翻訳する文字データを扱う場合です。
注意
ATL/MFC でこのコンパイラ オプションを使用すると、エラーが発生する場合があります。_ATL_ALLOW_CHAR_UNSIGNEDを定義することで、このエラーを無効にすることはできますが、この代替手段はサポートされず、常に動作しないことがあります。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
[ソリューション エクスプローラー] で、プロジェクトのショートカット メニューを開き、[プロパティ] をクリックします。
[構成プロパティ] の下の左ペインのプロジェクトの [プロパティ ページ] ダイアログ ボックスで、[C/C++] を展開し、[コマンド ライン] を選択します。
[追加のオプション] ペインで、/J コンパイラ オプションを指定します。
このコンパイラ オプションをコードから設定するには
- 「DefaultCharIsUnsigned」を参照してください。