2015-08-29 46 views
1

這裏循環後聲明變量是我的代碼:不能在VS2012

//main.c 
int main() 
{ 
    int i=0; 
    for (i = 0; i < 10; i++) 
    { 
     //do nothing 
    } 
    int temp = 0; 
    return 0; 
} 

的代碼就可以與我鐺(602.0.49)進行編譯,但在VS 2012產生error C2143

錯誤C2143:語法錯誤:缺少';'之前「類型」

一切修改後綴爲.cpp或刪除int temp = 0;

這是否意味着我以後不能用C項目for循環聲明一個變量後,好不好?

+0

谷歌那個錯誤。 –

回答

5

Visual Studio 2012只支持C89方言。

C89方言強制您在同一個塊中的語句之前放置聲明。

要修復錯誤,請在i聲明後立即移動temp聲明。

+0

或者編寫C風格的C++ - 它支持比C更近的C++。 – immibis