正在转换为使用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__
答案 0 :(得分:5)
该声明无效,因为inline
是C和C ++中的关键字(并且只能用作C中的函数说明符)。
将该变量名称更改为其他名称,如果您正在编译为C而不是C ++,则应该通过。我不相信C ++中可以接受函数定义语法的风格。