none
VC++6.0中class下可否使用string类 RRS feed

  • 问题

  • 在使用VC++6.0定义一个类的时候,如果需要定义一个不定长的字符串变量。能否使用string定义。

    #include<cstring>

    class shili

    {private:

    std::string str;

    public:

    ......

    };

    请问为什么std::string str;在VC++6.0中会报错,不允许这样定义。但是使用char*是正确的。谢谢!其它的新版本的VS是不是就支持呢?

    2010年5月29日 7:48

答案

  • string属于标准C++的内容,而第一个C++标准出现于1998年,即C++98,随后是C++03、C++0x,
    VC6在1997年发布,不可能支持C++98。更高版本的VC能够支持C++98,VC 2005及更高版本能够支持C++03,也就是说这些版本能够正常使用string。
     
    "pucx" 写入消息 news:406313f5-e628-418b-9ae8-d845809865fc...
    > 在使用VC++6.0定义一��类的时候,如果需要定义一个不定长的字符串变量。能否使用string定义。
    >
    > #include<cstring>
    >
    > class shili
    >
    > {private:
    >
    > std::string str;
    >
    > public:
    >
    > ......
    >
    > };
    >
    > 请问为什么std::string str;在VC++6.0中会报错,不允许这样定义。但是使用char*是正确的。谢谢!其它的新版本的VS是不是就支持呢?
    >
     
    • 已标记为答案 pucx 2010年5月30日 0:15
    2010年5月29日 16:47

全部回复

  • string属于标准C++的内容,而第一个C++标准出现于1998年,即C++98,随后是C++03、C++0x,
    VC6在1997年发布,不可能支持C++98。更高版本的VC能够支持C++98,VC 2005及更高版本能够支持C++03,也就是说这些版本能够正常使用string。
     
    "pucx" 写入消息 news:406313f5-e628-418b-9ae8-d845809865fc...
    > 在使用VC++6.0定义一��类的时候,如果需要定义一个不定长的字符串变量。能否使用string定义。
    >
    > #include<cstring>
    >
    > class shili
    >
    > {private:
    >
    > std::string str;
    >
    > public:
    >
    > ......
    >
    > };
    >
    > 请问为什么std::string str;在VC++6.0中会报错,不允许这样定义。但是使用char*是正确的。谢谢!其它的新版本的VS是不是就支持呢?
    >
     
    • 已标记为答案 pucx 2010年5月30日 0:15
    2010年5月29日 16:47
  • cnbatch,你用的是NNTP桥上的论坛吗?如果出问题可以去你下载NNTP桥的地方提交bug报告

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年5月31日 2:10
    版主