C++ 我不能理解这个代码

C++ 我不能理解这个代码,c++,c,linux,g++,C++,C,Linux,G++,我收到的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++)中

我收到的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++)中得到错误


提前感谢。

这是一种非常古老的C(前ANSI C语法)方式。如果你拥有代码,我建议你把它改成

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

还有一些细节和

这是在C语言中定义函数的古老语法。它早于C语言的第一个标准化版本。更重要的是,这种语法从来都不是C++的有效方法。由于您正在编译一个C++编译器的代码(很明显是C代码),所以它失败了。

它是拥有圣经和K和R风格的。这不是C/C++。那不是一种语言。这是老C。这可能会帮助你:你不是被问到的那个人,是吗?不管怎样,你看,哇!我不知道从上次看到或使用这种函数声明到现在已经有多少年了。必须超过20年左右,而现在它看起来非常错误。:)那些日子。。。