Wie am besten Typen verbinden`?
-
Hallo!
Problem:
void print (string b) { cout << b << endl; } int main() { print ( "hello " + 2 + " u"); return 0; }error C2110: '+': Zwei Zeiger können nicht addiert werden
Gibt es dafür eine geschickte Lösungsmöglichkeit?
-
Mit Klebstoff?
Guck doch in der FAQ nach zum Thema Strings, und Umwandlung von Integers in Strings.
-
Was du hier versuchst ist, auf die Adresse des Stringliterals "hello " 2 draufzuaddieren (wie hustbaer gesagt hat, wenn du aus 2 "2" machen willst, musst du konvertieren, siehe FAQ), und im Anschluss auf diesen Zeiger den Zeiger auf "u " zu addieren. Ersteres wäre erlaubt, aber absolut nicht was du willst (probier es ruhig mal aus), Letzteres darf man nicht. Für diesen Fall
print ( "hello " + " u");könntest du dir übrigens so behelfen:
print ( string("hello ") + " u");
-
Gibt es dafür eine geschickte Lösungsmöglichkeit?
Ja, std::stringstream.
std::stringstream stream; stream << "hallo" << ' ' << 5 << " welt"; std::cout << stream.str() std::endl;
-
