INFO: C2059, C2143: Syntax Errors Involving 'int constant'

This article was previously published under Q71767
This article has been archived. It is offered "as is" and will no longer be updated.
SUMMARY
When compiling a program with the Microsoft C/C++ compiler, the followingerror may be generated if an integer constant is recognized syntacticallyas being in an illegal location:
error C2059: syntax error: 'int constant'
Microsoft C/C++ 7.0 and Visual C++ may generate the following:
C2143: syntax error: missing ';' before 'constant'
-or-
C2143: syntax error: missing ';' before 'int constant'
Depending on the code, this error may result from a failure to include aline continuation character in a multi-line #define or macro definitionstatement, or from placing an integer constant on a line by itself.
MORE INFORMATION
The sample code below demonstrates how this particular error might begenerated. The #define statement spans two lines, but the line continuationcharacter (a backslash) was inadvertently omitted from the end of the firstline. This causes the compiler to "see" the integer constants as being on aline by themselves without any contextual meaning, and thus the C2059 erroris generated.

Sample Code

/* Compile options needed: none*/ #define coordinates {      16,16  }void main(void){}				
8.00 8.00c
Properties

Article ID: 71767 - Last Review: 12/04/2015 09:07:46 - Revision: 3.1

Microsoft C Professional Development System 6.0a, Microsoft C Professional Development System 6.0a, Microsoft Visual C++ 1.0 Professional Edition, Microsoft Visual C++ 1.5 Professional Edition, Microsoft Visual C++ 1.51, Microsoft Visual C++ 1.52 Professional Edition, Microsoft Visual C++ 1.0 Professional Edition, Microsoft Visual C++ 2.0 Professional Edition, Microsoft Visual C++ 2.1, Microsoft Visual C++ 4.0 Standard Edition, Microsoft Visual C++ 5.0 Standard Edition

  • kbnosurvey kbarchive kbcompiler kberrmsg kbinfo KB71767
Feedback