¿Cuál es la diferencia entre estos dos casos de agregar una cadena?
Noté que cuando inicialicé una cadena, el compilador informó un error que no esperaba.
Por ejemplo:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "Hello", s2 = "World!"; // ok
string s3 = s1 + ", " + "World!"; // ok
string s4 = "Hello" + ", " + s2; // error
cout << s1 + " " + s2 << endl; //ok
return 0;
}
Para mi sis3
funcionó biens4
Debería hacer lo mismo.
¿Por qué me sale ese error? ¿Cuál es la diferencia entre estas dos cadenas de inicialización (s3
ys4
)?