奶奶的 換了一個平臺才能發現這些問題啊
在kdevelop下寫
for(int i=0;i<9;i++)
{
}
居然會報錯
error: 'for' loop initial declaration used outside C99 mode
原來c99標準裏才支持在for的初始化部分定義一個或多個變量,這些變量的作用域僅於本for語句所控制的循環體內。
http://hi.baidu.com/johnllon/blog/item/8b03414e00fc9aced1c86a94.html
但是我一開始就迷了
爲什麼以上代碼在vc6.0裏可以通過呢
vc6.0不是隻支持c89標準嗎
按理應該報錯syntax error : missing ';' before 'type'
原來大部分情況下我們建的源文件是cpp格式
其實是被當作c++代碼編譯了
c++裏支持在for的初始化部分定義一個或多個變量,這些變量的作用域僅於本for語句所控制的循環體內。應該是c99參考了c++才那麼規定的
奶奶的 看來還是c89吃香啊
爲了兼容性 還是堅持c89吧
工業標準不是說變就立刻變得過來的