C++中结构体中如何使用string类

#include<iostream>#include<string>#include<cstring>structcar{stringname;intyear;};int... #include<iostream>
#include<string>
#include<cstring>

struct car
{ string name;
int year;
};

int main()
{
using namespace std;
int t;
cout<<"How many cars do you wish to catalog? ";
cin>>t;
cin.get();
if(t<0)
return 0;
car *pa=new car[t];
for(int i=0;i<t;i++)
{ cout<<"Please enter the make: ";
getline(cin,pa[i].name);
cout<<"Please enter the year made: ";
cin>>pa[i].year;
cin.get();
}
for(int j=0;j<t;j++)
{
cout<<pa[j].year<<" "<<pa[j].name<<endl;
}
delete [] pa;
return 0;
}

此程序中有错误,请高手指点下,谢谢!
展开
 我来答
wchyumo2011
2015-09-14 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:3435万
展开全部
C++中结构体中使用string类与在其他地方使用string类用法相同。
使用string类需要注意如下几点:
1、使用该类需要加头文件#include <string>,注意不同于#include <string.h>
2、该类是定义在命名空间std中的,所以使用之前需要确保已using namespace std;否则需要以std::string的形式来引用。
3、string类不等价于char 数组,需要区别对待。
Lindenjavier
2010-06-08 · 超过24用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
把主函数里面的using namespace std;提到外面
而且你是用的string 不是char 数组,所以就不用cin.get()来消去尾部字符了
大致是这样吧,调试一下,会很快知道错在哪里的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itas109
2010-06-08 · TA获得超过163个赞
知道答主
回答量:164
采纳率:100%
帮助的人:88.8万
展开全部
把using namespace std放到结构体struct car之前就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niinor
2010-06-08 · TA获得超过2246个赞
知道小有建树答主
回答量:2047
采纳率:0%
帮助的人:1449万
展开全部
加上
using namespace std;
在头文件包含完之后
或者用
std::string 来声明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式