注册 登录
编程论坛 C++教室

使用了std空间和<string>头文件的情况下第一个string 出错

a99875984 发布于 2013-04-19 08:24, 865 次点击
程序代码:
#ifndef people_h_
#define people_h_
#include <string>
using namespace std;

class people
{
private:
    int age;
    sring name; //报错,string标识符为定义
    int no;
    string identity_card;
    string sex;
    string add;
    int birthday;
    int phone;
public:
    people(string a,int b,int c,string d,string e,string f,int g,int h);
    ~people(){};
};
#endif
不知道为什么,string name那报错 ,说string标识符为定义,后面几处都一点事都好的,注释了报错的那处后面几处也没报错。谢谢了
8 回复
#2
rjsp2013-04-19 08:37
sring 是什么?没有定义呀!
另外,在头文件中不要使用 using namespace std; 等等,否则只要#include你这个头文件就被迫 using namespace std 了,失去了名字空间的作用。
#3
zhuxiaoneng2013-04-19 08:39

 sring name; //报错,string标识符为定义
 应该是:
 string name;
#4
a998759842013-04-19 08:47
回复 3楼 zhuxiaoneng
额,又粗心了
#5
a998759842013-04-19 08:48
回复 2楼 rjsp
如果不用using namespace std的话好像全部的string都要报错,是用std::string吗?
#6
zhuxiaoneng2013-04-19 08:53
用std::string是可以的,但是每个需要用到string的地方都需要在前面加上std::
也可以在文件开始处加:using std::string
#7
a998759842013-04-19 08:55
回复 6楼 zhuxiaoneng
但是如果使用,using std::string的话class报错,使用std::string 的话class还有string都要报错
#8
a998759842013-04-19 08:56
回复 6楼 zhuxiaoneng
是不是还需要一个using std::class??
#9
zhuxiaoneng2013-04-19 09:04
程序代码:
#include <string>
using  std::string;

class people
{
private:
    int age;
    string name; //报错,string标识符为定义
    int no;
    string identity_card;
    string sex;
    string add;
    int birthday;
    int phone;
public:
    people(string a,int b,int c,string d,string e,string f,int g,int h);
    ~people(){};
};
1