2012-01-28 74 views
-4

我嘗試在http://www.exploit-db.com/exploits/16/上編譯腳本時發生錯誤。 我用DEV-C++,它告訴我:編譯過程中的錯誤

((C:\...\Untitled1.cpp In function `void send_ping_overflow(SOCKET, DWORD, char*, short int)': 
|| 104 C:\...\Untitled1.cpp name lookup of `i' changed for new ISO `for' scoping 
|| 100 C:\...\Untitled1.cpp using obsolete binding at `i' )) 
+5

我並不總是編譯戰功但是當我做我不知道我在做什麼。 – 2012-01-28 20:08:50

回答

3

for (int i, ...)

變量ifor循環結構正在申報。這實際上是C語言中一種新的(相對而言)的能力 - 最初,變量需要在它們被使用的塊的頂部聲明。

您正在使用的令人難以置信的過時編譯器(請參閱the dev-c++ tag wiki page)會給您一個警告,因爲您沒有編碼到C99標準或更高版本。請注意,C99中的'99'是1999年或十三年前。你必須寫在大約二十一年前的C90中。

我建議切換到新/更好的IDE,比如Eclipse

+1

+1爲「令人難以置信的過時的編譯器,你正在使用」 – 2012-01-28 20:12:58

+0

其實這似乎OP問題是C++,不C. – lvella 2012-01-28 20:24:41

+1

@Ivella你是對的,但我很喜歡嘲笑太多。真正的問題是變量是在'for'循環頭文件中聲明的,然後在循環體的下面使用。 – Borealid 2012-01-28 20:28:42