原始代码如下:
编译报如下错误:
“错误:不能将类型为‘Student&’的非const引用初始化为类型为‘std::string’的临时变量”
分析:
fn(string("Jenny"))调用后,由fn(Student& s)和Student(const string& s)可知,系统会为fn构造一个临时的Student对象,注意这个临时的Student对象是const类型的,再传入fn中导致类型不匹配,所以只要把fn的形参加const限定即可。
修改之后的代码如下:
原始代码如下:
编译报如下错误:
“错误:不能将类型为‘Student&’的非const引用初始化为类型为‘std::string’的临时变量”
分析:
fn(string("Jenny"))调用后,由fn(Student& s)和Student(const string& s)可知,系统会为fn构造一个临时的Student对象,注意这个临时的Student对象是const类型的,再传入fn中导致类型不匹配,所以只要把fn的形参加const限定即可。
修改之后的代码如下: