cout und std::string
-
Hallo
std::string str1("Hallo"); cout << "String=" << str1 << endl;
Das sollte eigentlich gehen, ist in vielen Beispielen so gemacht.
Nur ich habe ständig Probleme damit. Mein Visual Studio meldet:
error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (o
r there is no acceptable conversion)Wieso??
-
bei mir geht, alles nötige inkludiert?
-
Ich weiss, dass es gehen muss, wie gesagt in allen Büchern findet man Beispiele dazu. Ich habe diese Beispiele nie zum laufen bekommen und hab keine Ahnung warum??
#include <string> #include <iostream.h>
-
also der sagt, das dein Operator << als rechten Wert keinen String nehmen kann...weiß nich obs daran liegt, aber probier mal das...
#include <iostream> //ohne h #include <string> using namespace std;
hm....
-
es muss
#include <iostream>
heissen, und cout und endl müssen - falls kein using namespace std; da ist - ebenfalls mit std:: qualifiziert werden.
der compiler sagt im übrigen, dass es keinen solchen operator gibt oder dass keine passende konvertierung möglich ist. in diesem falle ist wahrscheinlich letzteres der fall - denn die definitionen in iostream.h - sofern vorhanden - dürften von denen in <iostream> abweichen.
-
Danke camper, das wars
-
im prinzip das was ich ja auch geschrieben habe?!
-
jo, stimmt 5er1al