c – error C2143: syntax error : missing ; before type

c – error C2143: syntax error : missing ; before type

Visual Studio only supports C89. That means that all of your variables must be declared before anything else at the top of a function.

EDIT: @KeithThompson prodded me to add a more technically accurate description (and really just correct where mine is not in one regard). All declarations (of variables or of anything else) must precede all statements within a block.

I havent used visual in at least 8 years, but it seems that Visuals limited C compiler support does not allow mixed code and variables. Is the line of the error on the declaration for int i=1; ?? Try moving it above the call to func();

Also, I would use extern void func(void);

c – error C2143: syntax error : missing ; before type

this:

int i=1;
for(;i<=5; i++) {

should be idiomatically written as:

for(int i=1; i<=5; i++) {

because there no point to declare for loop variable in the function scope.

Leave a Reply

Your email address will not be published.