cout mit Strings funktioniert nicht

Thomas D

Erfahrenes Mitglied
Hallo!

Ich kann aus irgendwelchen mir unerfindlichen Gründen keinen std::string mehr per cout ausgeben. Der Code sieht wie folgt aus:

Code:
std::string str = "";
cout << str;

error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

Welchen fatalen Denkfehler begehe ich, dass dieser Code nicht richtig funktioniert :confused:?

MfG, Thomas D.
 
Ich weiß auch nicht genau was kaput ist, aber als Überggangslösung bis es wieder geht könntest du char arrays benutzen.
C++:
char str[20]={"hallo"};
cout << str;

gruß Ryu1991
 
Zuletzt bearbeitet von einem Moderator:
Das Problem ist, dass ich mir aus einem mehrdimensionalen Array mehrer char* raushole und dies mit std::string natürlich wesentlich leichter gehen würde. Denn ständig realloc ist einerseits eine potentielle Fehlerquelle, andererseits auch viel mühsamer. Hat keiner von euch schon mal ein ähnlich geartetes Problem gehabt:confused:? ...
 
Das müsste z.B so aussehen:

Code:
#include <iostream>
#include <string>

main(){

string str = "Hallo";

std::cout << str;

}

oder so:

Code:
#include <iostream>
#include <string>
using namespace std;

main(){

string str = "Hallo";

cout << str;

}
 
Ich habe keine Ahnung, woran es gelegen ist, habe aber mittlerweile auf std::strings verzichtet und eine Lösung mit char* und Streams implementiert. Danke aber auf jeden Fall für die versuchte Hilfestellung :) ...
 
Zurück