Was ist der Unterschied zwischen diesen beiden Fällen des Hinzufügens einer Zeichenfolge?
Ich habe festgestellt, dass der Compiler beim Initialisieren eines Strings einen Fehler gemeldet hat, den ich nicht erwartet habe.
Beispielsweise
#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;
}
Für mich, wenns3
hat prima funktioniert,s4
sollte dasselbe tun.
Warum erhalte ich diesen Fehler? Was ist der Unterschied zwischen diesen beiden Initialisierungszeichenfolgen s3
unds4
)?