PRO*C 的一个编译警告错误如何消除
我编写的PRO*C 程序在预编译后再连接时出现如下的警告错误:
Warning sqlstm hides the same name in an outer scope.
说明:
sqlstm 出现在替换 PRO*C 执行语句处,如
EXEC SQL CONNECT ....; EXEC SQL INSERT ....; 等。
预编译后会被一个结构变量替换:
( struct sqlexd sqlstm;
.....
)
有多少这样的执行语句,就会有多少个这样的同名结构变量出现。
我的预编译参数如下:
proc xxx code=cpp mode=oracle cpp_suffix=cc parse=partial
动态链接参数为:
PROLDLIBS=-lcltsh -lkstat -lsocket -lnsl -lm -ldl -lposix4 -lsunmatch -lthread
上面所说的警告错误就大量出现在预编译后的 .cc 文件中。
需要说明的是,我是按照面向对象的思想,把对数据库的操作封装成一个类。
不知哪位大侠,能指个方法来消除掉这些警告错误。