[英]“syntax error : missing ';' before '{'” in c++ project with precompiled header
嘗試編譯簡單的c ++項目時,出現以下錯誤:
syntax error : missing ';' before '{'
我做了研究。 編譯器不允許在for循環內聲明變量,這對我來說非常不便。 如果我在for循環之前聲明循環變量,則錯誤消失。
這是一個帶有“ stdafx.h”預編譯頭的c ++項目。
是因為我使用的是預編譯頭文件,還是由於過去使用我的配置對某些內容進行了編排而導致了這種編譯器行為(C89)? 有什么辦法可以規避這種行為?
PS我正在Windows 7 64位上使用Visual Studio 2012。
代碼示例:
錯誤在第一行
for (int idx = 0, int i = 100; idx < (sizeof(anTestScores) / sizeof(int)); i++, idx++) { anTestScores[idx] = i; }
這編譯
int idx; int i; for (idx = 0, i = 100; idx < (sizeof(anTestScores) / sizeof(int)); i++, idx++) { anTestScores[idx] = i; }
一起去
for (int idx = 0, i = 100; idx < (sizeof(anTestScores) / sizeof(int)); i++, idx++) { anTestScores[idx] = i; }
這在for
循環的第一條語句中聲明了兩個 int類型的變量。
起作用的原因而您的其他嘗試不起作用的原因如下:
每個聲明語句必須用分隔;
,但是一樣;
用於分隔for(;;)
循環標題的各個部分,因此您嘗試通過使用','運算符來解決它。 由於語法錯誤而無法使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.