Microsoft KB Archive/71767

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

Article ID: 71767

Article Last Modified on 7/5/2005

-

APPLIES TO


 * 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

-



This article was previously published under Q71767





SUMMARY
When compiling a program with the Microsoft C/C++ compiler, the following error may be generated if an integer constant is recognized syntactically as 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 a line continuation character in a multi-line #define or macro definition statement, or from placing an integer constant on a line by itself.



MORE INFORMATION
The sample code below demonstrates how this particular error might be generated. The #define statement spans two lines, but the line continuation character (a backslash) was inadvertently omitted from the end of the first line. This causes the compiler to &quot;see&quot; the integer constants as being on a line by themselves without any contextual meaning, and thus the C2059 error is generated.

Sample Code
/* Compile options needed: none

16,16 }
 * 1) define coordinates {

void main(void) { }

Additional query words: 8.00 8.00c

Keywords: kberrmsg kbinfo kbcompiler KB71767

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.