C++类函数的参数的传递和隐式转换出现的问题

主要的代码如下:

类的声明:

img


用到的构造函数:

img


参数传递出错的函数:

img


错误:

img

现在还不知道问题出在哪,如果将重载+的函数的参数列表的&去掉,或者在参数列表中加上const,则不会报错,程序能正常运行。错误应该是出在参数的传递和转换上,重载函数的算法是没错的,已经验证过了。希望有人能帮忙看一下错误出在哪。

+号后面" "默认的类型是char[]

改成 b1 = b1 + string1(" ");

你的operator + 的参数是两个string1类对象,你传递个字符串不能自动转换成string1