C++ 问题,请问下面的代码为什么编译没有错误,运行时编译器却报错?

#include<iostream>#include<string>#defineN3usingnamespacestd;classperson{charname[20]... #include<iostream>
#include<string>
#define N 3
using namespace std;
class person
{
char name[20];
char num[20];
public:
void setname(char*na)
{
strcpy(name,na);
}
void setnum(char*nu)
{
strcpy(num,nu);
}
char* getname()
{
return name;
}
char* getnum()
{
return num;
}
};
class compute
{
person p[N];
public:
void getdata();
void getsort();
void outdata();
};
void compute::getdata()
{
int i;
char name[20],num[20];
cout<<"输入姓名3ge和电话号码:"<<endl;
for(i=0;i<N;i++)
{
cin>>name>>num;
p[i].setname(name);
p[i].setnum(num);
}
}
void compute::getsort()
{
int i,j,k;
person temp;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(strcmp(p[i].getname(),p[j].getname())>0)
{
temp=p[j];
p[j]=p[i];
p[i]=p[j];
}
}
int main()
{
compute obj;
obj.getdata();
obj.getsort();
obj.outdata();
return 0;
}
展开
 我来答
DQ123456kR
2015-03-28 · TA获得超过784个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:80.2万
展开全部
帮你运行了下,错误主要是:(1)如果你是用C++编译器运行的,头文件#include<string>应改为#include<cstring>;(2)obj.outdata();这个语句错误,因为你outdata()函数没定义
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式