请看我的PRO*C作品!

pan2009 2003-09-29 03:28:04
请看我的PRO*C作品!
#include "myStc.h"

EXEC SQL BEGIN DECLARE SECTION;
...........
TheMail myMail; /*TheMail是一个类,在myStc.h中声明过*/

EXEC SQL END DECLARE SECTION;
...........

以上是我写的PRO*C代码
用PRO*C编译时,报告错误出现:
-----------------------------------
语法错误出现在13行,1列,文件D:\00_CCode\PRO_C\st_1.pc:
错误发生在行13,列1,文件D:\00_CCode\PRO_C\st_1.pc
S_SCSLOTIDLIST myLot;
1
PCC-S-02201, 出现符号"TheMail"在需要下列之一时:
auto,char,const,
double,enum,extern,float,int,long,ulong_varchar,
OCIBFileLocatorOCIBlobLocator,OCIClobLocator,OCIDateTime,
OCIExtProcContext,OCIInterval,OCIRowid,OCIDate,OCINumber,
OCIRaw,OCIString,register,short,signed,sql_context,
sql_cursor,static,struct,typedef,union,unsigned,utext,
uvarchar,varchar,void,volatile,a typedef name,
a precompiled header,exec oracle,exec oracle begin,exec,
exec sql,exec sql begin,exec sql end,exec sql type,
exec sql var,exec sql include,
符号 "enum," 被替换为 "TheMail"后继续。

错误发生在行0,列0,文件D:\00_CCode\PRO_C\st_1.pc
PCC-F-02102, C 预处理时,发生严重错误
-----------------------------------
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pan2009 2003-09-29
  • 打赏
  • 举报
回复
有请班主
  • 打赏
  • 举报
回复
oracle没有结构体类型,我想pro*c应该也是没有结构体类型的。
pan2009 2003-09-29
  • 打赏
  • 举报
回复
说错了

TheMail myMail; /*TheMail是一个结构不是类,在myStc.h中声明过*/

----------------------------------------------------------------
我的问题就是:
.PC源代码中定义一个结构的实例
但该结构本身在#include所包含的头文件中定义

这样的做法可以吗?
liao2001 2003-09-29
  • 打赏
  • 举报
回复
pro*c用c++?应该是用c吧,proc应该是c编程访问oracle。
不知道预编译器支不支持c++,改成用c吧;
或者试试将类的申明加上
EXEC SQL BEGIN DECLARE SECTION;
EXEC SQL END DECLARE SECTION;
没试过,应该是不行的。

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧