if(name!=0)
strcpy(name,setname);
第一个参数写错了,你写的是num,num此时还没有非配地址,所以导致错误。其实你只是给这两个参数赋值,不需要用new分配空间,这样需要自己释放,可以直接写成如下:
name = setname;
num = setnum;
这是C还是C++?回楼下,你那是C型的,人家写的是C++行的好不?
#include
#include
头文件就错了
string.h
iostream.h
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);