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

Jim*_*ley 2 c++ oracle oracle-pro-c

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

有一个具有以下定义的方法:

void parse_line(inline)
char *inline;
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)

当我尝试做到这一点时,我看到:

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,
Run Code Online (Sandbox Code Playgroud)

就我所知,此函数声明在语法上是正确的,因此我必须假定由于其他问题而出现此预编译器错误。

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

我的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__
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 5

该声明无效,因为它inline是C和C ++中的关键字(并且只能用作C中的函数说明符)。

将该变量名更改为其他名称,如果您使用C而不是C ++进行编译,则应通过该名称。我认为函数定义语法的样式在C ++中是不可接受的。