[英]error C2143: syntax error : missing ';' before 'type'
我是編程C的新手..請告訴我這個程序有什么問題,以及為什么我收到此錯誤: 錯誤C2143:語法錯誤:缺少';' 在'類型'之前 ....
extern void func();
int main(int argc, char ** argv){
func();
int i=1;
for(;i<=5; i++) {
register int number = 7;
printf("number is %d\n", number++);
}
getch();
}
Visual Studio僅支持C89。 這意味着所有變量必須在函數頂部的任何其他變量之前聲明。
編輯:@KeithThompson敦促我添加一個技術上更准確的描述(並且真正正確地指出我的方法並非如此)。 所有聲明(變量或其他任何聲明)必須位於塊中的所有語句之前。
我至少8年沒有使用visual,但似乎Visual的有限C編譯器支持不允許混合代碼和變量。 是int i=1;
的聲明中的錯誤行int i=1;
?? 嘗試將其移到func();
的調用上方func();
另外,我會使用extern void func(void);
這個:
int i=1;
for(;i<=5; i++) {
應該用慣用語寫成:
for(int i=1; i<=5; i++) {
因為沒有必要在函數范圍內聲明for
循環變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.