有一个关于类的C++程序,编译没错,运行却一直出错,这是书本的代码,不知道哪里出错了

2024-11-10 19:45:08
推荐回答(4个)
回答1:

if(name!=0)
strcpy(name,setname);
第一个参数写错了,你写的是num,num此时还没有非配地址,所以导致错误。其实你只是给这两个参数赋值,不需要用new分配空间,这样需要自己释放,可以直接写成如下:
name = setname;
num = setnum;

回答2:

这是C还是C++?回楼下,你那是C型的,人家写的是C++行的好不?

回答3:

#include
#include
头文件就错了
string.h
iostream.h

回答4:

void CStudent::set(char *setname,char*setnum,int setage)
{
name=new char[strlen(setname)+1];
if(name!=0)
strcpy(name,setname);
num=new char[strlen(setnum)+1];
if(num!=0)
strcpy(num,setnum);
age=setage;
}

------------------
只能说你抄错了。。
strcpy(name,setname);