| description | Learn more about: /J (Default char Type Is unsigned) | ||||||
|---|---|---|---|---|---|---|---|
| title | /J (Default char Type Is unsigned) | ||||||
| ms.date | 11/04/2016 | ||||||
| f1_keywords |
|
||||||
| helpviewer_keywords |
|
||||||
| ms.assetid | 50973667-6638-491e-9c41-bff73acae19f |
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.
/J
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.
-
In Solution Explorer, open the shortcut menu for the project and then choose Properties.
-
In the project Property Pages dialog box, in the left pane under Configuration Properties, expand C/C++ and then select Command Line.
-
In the Additional Options pane, specify the /J compiler option.
- See xref:Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool.DefaultCharIsUnsigned%2A.
MSVC Compiler Options
MSVC Compiler Command-Line Syntax
Set C++ compiler and build properties in Visual Studio