“abc”不是string类型,不能作为实参传递给形参string &a,因为如果传递的话,构造时会产生一个临时对象,但左值引用不能绑定临时对象。 如何修改:方法一:定义string obj = "abc";传递obj,方法二:形参改为const string&。 总结:对象传递给reference-to-non-const形参时不会发生隐式转换。