赋值运算符重载前调用 class()为什么会出现class::class(class)的错误

obj obj::operator=(obj& obb)
{
return obj(obb.element);
}

建议将sstring的拷贝构造函数的参数类型改为const引用,即sstring(const sstrings&);非const引用不能接受临时对象,而28行return了一个临时sstring对象。同时注意28行少了一个分号哦

图片说明
图片说明

你没有实现没有引用的拷贝构造函数,而且28行少一个分号。

谢谢caozhy的回答。(分号是还原代码时忘了)
想问的其实是:明明想要调用sstring(int) (传入整形的构造函数,而且已经实现),但是为什么编译错误是没有匹配的sstring::sstring(sstring) (传入非引用类对象的构造函数?)

谢谢各位了,问题已解决。(拷贝构造函数的参数类型改为const引用)