对引用型参数是否加const限定一定要慎重

原始代码如下:

编译报如下错误:

“错误:不能将类型为‘Student&’的非const引用初始化为类型为‘std::string’的临时变量”

分析:

fn(string("Jenny"))调用后,由fn(Student& s)和Student(const string& s)可知,系统会为fn构造一个临时的Student对象,注意这个临时的Student对象是const类型的,再传入fn中导致类型不匹配,所以只要把fn的形参加const限定即可。

修改之后的代码如下:


猜你喜欢

转载自blog.csdn.net/qll125596718/article/details/8170636