Hay tal código:Cambio de valor de retorno de tipo fundamental y el tipo de clase
#include <iostream>
#include <string>
int returnnumber() { return 2; }
std::string returntext() { return "siema"; }
int main() {
std::cout << (returntext() += "cze") << std::endl; // siemacze
//std::cout << (returnnumber() += 2) << std::endl; error: lvalue required as left operand of assignment
return 0;
}
¿Por qué es posible cambiar el valor de retorno de std :: string, pero no int?
Bueno, pero para 'int' el operador' + = 'también está definido. – Vlad
@downvoter: ¿Por qué? – Vlad
@anonymous downvoter: explique su voto negativo para que otros puedan beneficiarse de su visión, o ignore alguna razón estúpida. –