C++ Oracle Pro*C预编译器错误PCC-S-02201

C++ Oracle Pro*C预编译器错误PCC-S-02201,c++,oracle,oracle-pro-c,C++,Oracle,Oracle Pro C,正在转换为使用Oracle Pro*C的现有程序在预编译时会导致问题。它从文件系统中读取一个文件,对其进行解析,然后写入几个数据库表 有一种方法具有以下定义: void parse_line(inline) char *inline; { // do stuff } 当我试图做到这一点时,我看到: Syntax error at line 162, column 13, file myfile.cp: Error at line 162, column 13 in file myfile.cp

正在转换为使用Oracle Pro*C的现有程序在预编译时会导致问题。它从文件系统中读取一个文件,对其进行解析,然后写入几个数据库表

有一种方法具有以下定义:

void parse_line(inline)
char *inline;
{
// do stuff
}
当我试图做到这一点时,我看到:

Syntax error at line 162, column 13, file myfile.cp:
Error at line 162, column 13 in file myfile.cp
char *inline;
............1
PCC-S-02201, Encountered the symbol ";" when expecting one of the following:

   ( * const, volatile, an identifier,
就我所知,这个函数声明在语法上是正确的,所以我必须假设这个预编译错误是由于其他地方的问题而出现的

除了将整个程序粘贴到这里之外,有人对我可以开始寻找的一些好地方有什么建议吗

我的pcscfg.cfg如下所示:

sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include,/usr/lib64/gcc/x86_64-suse-linux/4.1.2/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include)
ltype=short
define=__x86_64__

此声明无效,因为<代码>内联是C和C++中的关键字(只能在C中用作函数说明符)。


将该变量名改为其他的,如果编译为C而不是C++,则应该通过。我不相信C++中的函数定义语法风格是可以接受的。< / P >骆驼的儿子。我从来没有想到过。我有点想开车半小时回去上班,看看这是否能解决整个问题。我不会!但我很受诱惑。最奇怪的是,它确实可以编译成一个安格尔嵌入式C程序。只是不是作为一个Pro*C程序。尽管如此——将“inline”更改为“inp_line”,我们预编译并编译得很好。谢谢嗯,

inline
是很酷的新东西,只是作为一个关键字添加到C99中。C89没有:)是的,正如你可能猜到的,这东西是旧的。