关于运算符重载!!
请教:自定义string类。
头文件中,const String & operator = (const String &);
去掉(const String &)中的const。(对应中的cpp中也去掉)。
那么在使用的时候,执行s = temp;其中,s是string 型,而temp是char 数组。
问,为何必须加const才能编译过去。其实我的问题就是关于自定义类型的强制转换。谢谢!!
[解决办法]
C++规定:非const引用不可以加在临时变量上。所以,必须加const。
[解决办法]
要注意, 从char 类型数组或指针到 String 引用参数
的转换必然会产生临时对象, 而c++不允许非常量引用产生临时对象,所以必须
用const String &