2013-07-10 104 views
1

我已經被賦予了C/C++代碼,看起來像這樣:我不明白這個代碼

extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, extrafield_local) 
    zipFile file; 
    const char* filename; 
    const zip_fileinfo* zipfi; 
    const void* extrafield_local; 

{ 

... function body 

} 

聲明是這樣的一個可能函數的參數?我從編譯器(g ++)收到錯誤。

在此先感謝。

+1

這是一種古老的風格。 –

+5

它是可能的並且被稱爲K&R風格。 –

+0

這不是C/C++。這不是一種語言。這是舊的C. – chris

回答

2

這是一個非常古老的C語言(ANSI C語法之前的語法)。我建議你改變它,如果你自己的代碼,以

extern int ZEXPORT zipOpenNewFileInZip3 (
    zipFile file, 
    const char* filename, 
    const zip_fileinfo* zipfi, 
    const void* extrafield_local) 
... 

有一些更多的細節herehere

0

這就是古代的語法爲C.定義函數它早的第一個標準化版本C語言。更重要的是,該語法從來沒有有效的C++。由於您正在使用C++編譯器編譯此代碼(顯然是C代碼),因此它失敗了。