纠结这个问题半个小时了…结果是在一个很奇葩的地方出了错
修改前代码:
class People
{
public:
People(int n, int s, int i, char* d): birthday(char* d)//Error!
{ number=n; sex=s; id=i; }
People(People& a): birthday(a.birthday)
{ number=a.number; sex=a.sex; id=a.id; }
void getNumber(){ cout<<"\nHe/She's number is: "<<number;}
void getSex(){
if(sex==0)
cout<<"\nSex is: Female.";
if(sex==1)
cout<<"\nSex is: Male."; }
void getId(){ cout<<"\nId is: " <<id; }
protected:
int number;
int sex; // 0 female, 1 male
int id;
Date birthday;
};
一直提示着是expected primary-expression’char’ 的问题…却没有发现是怎么回事,在网上搜了一堆没有什么用的答案,直到看见别人写的一个例程才发现错误在哪…
应为
birthday(d)
看书也是不够仔细啊!