2013-07-10 3 views
1

Я дал на 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 (pre-ANSI C) для выполнения действий. Я предлагаю вам изменить его, если у вас есть код, в

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

Есть еще некоторые детали here и here

0

Это древний синтаксис для определения функций в С. предшествует первый стандартизированный вариант из C. Что еще более важно, этот синтаксис никогда не был действительным C++. Поскольку вы компилируете этот код (который, очевидно, код C), с компилятором C++, он не работает.

Смежные вопросы