哦,我在编程时用cin,cout没有问题,用string my_str;定义string类型对象时,编译时说string识别不了,我就用c语言中的string.h实现了,我现在想了解一下c++中的那些头文件能用,哪些不能用.

解决方案 »

  1.   

    昏昏 这个和proc没关系的 只要不冲突所有C++下的类都是可以用的 包含了string所在的头文件了么??
      

  2.   

    我包含了
    #include<string>
    #include<iostream>
    using namespace std;
    而且我们一个同事也用过也不能用的
      

  3.   

    昨晚回家了,没有回帖.我已经把要做的用c的string.h库实现了,可是用c++的string方便些,我没保存以前的错误程序,所以现在也具体不了了.
      

  4.   

    是在用pro c/c++编译时就通不过.好像时识别不了string
      

  5.   

    我刚才试验了一下,
    如果定义string对象不在exec sql里面的话就可以如
    string a="aaaaaa";
    cout<<a;
    就可以.
    而如果在exec sql里面就不行,如
    EXEC SQL BEGIN DECLARE SECTION;
        string a="aaaaaaa";
        EXEC SQL END DECLARE SECTION;     
    cout<<a;
    就报错如下:
    ++: Release 9.2.0.1.0 - Production on 星期四 12月 23 09:56:44 2004Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.系统默认选项值取自于: e:\oracle\ora92\precomp\admin\pcscfg.cfg语法错误出现在35行,1列,文件E:\数据库\240数据库\pro.pc:
    错误发生在行35,列1,文件E:\数据库\240数据库\pro.pc
    string a="aaaaaaa";
    1
    PCC-S-02201, 出现符号 "string"在需要下列之一时:
     auto, char, const,
       double, enum, extern, float, int, long, ulong_varchar,
       OCIBFileLocator OCIBlobLocator, 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," 被替换为 "string" 后继续。错误发生在行0,列0,文件E:\数据库\240数据库\pro.pc
    PCC-F-02102, C 预处理时,发生严重错误
      

  6.   

    EXEC SQL BEGIN DECLARE SECTION;
    EXEC SQL END DECLARE SECTION;里的类型必须是Pro*C规定的那些或者是标准C的!文档上游说明的
    为什么要把string放到这里难道你想把string类型的变量和数据库字段绑定吗!可以绑定成VARCHAR然后赋值给string