/J (Default char Type Is unsigned)
Changes the default char
type from signed char
to unsigned char
, and the char
type is zero-extended when it is widened to an int
type.
Syntax
/J
Remarks
If a char
value is explicitly declared as signed
, the /J option does not affect it, and the value is sign-extended when it is widened to an int
type.
The /J option defines _CHAR_UNSIGNED
, which is used with #ifndef
in the LIMITS.h file to define the range of the default char
type.
ANSI C and C++ do not require a specific implementation of the char
type. This option is useful when you are working with character data that will eventually be translated into a language other than English.
Note
If you use this compiler option with ATL/MFC, an error might be generated. Although you could disable this error by defining _ATL_ALLOW_CHAR_UNSIGNED
, this workaround is not supported and may not always work.
To set this compiler option in the Visual Studio development environment
Open your project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.
Select the Configuration Properties > C/C++ > Command Line property page.
In Additional Options, enter the /J compiler option.
To set this compiler option programmatically
See also
MSVC Compiler Options
MSVC Compiler Command-Line Syntax
Set C++ compiler and build properties in Visual Studio