第三种设值错误,
因为构造函数(constructor)只有两种形式:
void set(string & s);
void set(int a,int b,int c)
单个参数是class string
3个参数是整数int a,int b,int c
f.set("2005-12-3");// 是单个参数,要求参数是string 类,不是char[]
你可以写f.set(string("2005-12-3"));
string("2005-12-3") -- 是string 类 的 constructor
string 类 的 constructor 的参数 "2005-12-3" 是char[]
就正确了。
你混淆了 string 类 和 字符串/字符变量 char[]
举个例子:
char str[10]="2005-12-3";
上面的定义变量应该见过吧,而且绝对没错吧,你说""里面是什么呢?