Ich hab folgendes Problem: Wenn ich den Quellcode benutze:
C++:
string test = "test"; ofstream fout(test, ios::app );
bringt der Compiler mir immer folgende Fehlermeldung: no matching function for call to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string&, const std::_Ios_Openmode&)'
Wenn ich die Variable nicht benutze sondern das hier:
C++:
ofstream fout("test", ios::app );
Funktioniert alles einwandfrei ! Meine Fragen: 1.Warum ? 2.Wie kann ich den Dateinamen durch eine Variable festlegen ?Dieser Post wurde am 10.06.2004 um 18:36 Uhr von Pablo editiert.
das hab ich an der stelle auch noch nicht hinbekommen... auch ein test.c_str() wollte er bei mir nicht fressen... ging nur wenn ichs mit nem char-array gemacht habe aber einen std::string wollte er ums verrecken nicht fressen... -- ...fleißig wie zwei Weißbrote
@DaReal Es funktioniert deshalb nicht, weil a) ofstream nur einen Konstruktor mit einem const char* als Dateinamensparameter besitzt und b) es keinen impliziten Konvertierungsoperator von std::string -> const char* gibt.
@virtual jo das frisst er bei mir... versteh die welt nicht mehr... Ich weiss das ich genau das versucht hab beim basteln einer templateklasse und da wollte der das ums verrecken nicht fressen... als ich dann mit sprintf in ein char-array gedruckt habe gings... war mir bis heute unerklärlich... -- ...fleißig wie zwei Weißbrote
Windalf postete jo das frisst er bei mir... versteh die welt nicht mehr... Ich weiss das ich genau das versucht hab beim basteln einer templateklasse und da wollte der das ums verrecken nicht fressen... als ich dann mit sprintf in ein char-array gedruckt habe gings... war mir bis heute unerklärlich...
Das scheint mir das typische Windowserstmalrebootendanngehtswiederphänomen zu sein, -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Das scheint mir das typische Windowserstmalrebootendanngehtswiederphänomen zu sein,
das will ich mal hoffen das es so war und kein bug in vc++... ich such mal nach dem beispiel mal gucken ob ich es noch finde -- ...fleißig wie zwei Weißbrote
verdammt nochmal warum geht das jetzt und davor nicht... ich weiss 100%ig das sich das vorher nicht kompilieren lies und kaum hab ich ein char[] reingepackt hat ers gefressen... das teil hat mich über ne stunde wahnsinnig gemacht weil ich mir nicht erklären konnte warum es nicht geht und jetzt gehts auf einmal da bin ich ja zufrieden -- ...fleißig wie zwei Weißbrote