Problem bei einem string
-
Hallo früher hatte ich den Borland C++ Builder 6 Personal jetzt habe ich jedoch die Enterprise Version diesen Fehler bekomme ich wenn ich den Quelltext von unten compilieren wollte früher bekam ich da keinen Fehler.
Bei RAD Studios 2007 lässt es sich auch ohne Fehler ausführen.
[C++ Fehler] Unit1.cpp(16): E2034 Konvertierung von 'string' nach 'char *' nicht möglich [C++ Fehler] Unit1.cpp(16): E2342 Keine Übereinstimmung des Typs beim Parameter '__command' ('char *' erwartet, 'string' erhalten)#include <iostream> #include <fstream> using namespace std; int main() { string ip; string cmd; cout << "Eingabe: "; cin>>ip; cmd = "start " + ip; system( cmd . c_str() ); system("PAUSE"); }
-
#include <string>Fehlt
Gruss
-
Ich bekomme noch immer die gleiche Fehlermeldung

Der abgeänderte Code
#include <iostream> #include <string> using namespace std; int main() { string ip; string cmd; cout << "Eingabe: "; cin>>ip; cmd = "start " + ip; system( cmd . c_str() ); system("PAUSE"); }
-
[C++ Fehler] Unit1.cpp(16): E2034 Konvertierung von 'string' nach 'char *' nicht möglich
[C++ Fehler] Unit1.cpp(16): E2342 Keine Übereinstimmung des Typs beim Parameter '__command' ('char *' erwartet, 'string' erhalten)Du übergibst
const char*, und er sagt,stringerhalten (dann noch ohne Namensraumqualifizierer, ist bei grösseren Projekten sicher nützlich)? Die Funktionsystem()erwarte alsochar*? Laut C++-Standard wäreconst char*richtig.
Falls das stimmt, was du sagst, würde ich Compiler und Standardbibliothek wegwerfen. Wieso nimmst du nicht was Brauchbares wie Microsoft Visual Studio Express oder Code::Blocks?
-
Borland C++ Builder 6 ist doch schon recht alt. Und die Borland Compiler waren nicht gerade sehr standard konform. Soll sich erst später mit Codegear bzw. Embarcadero geändert haben. Gibt so viele kostenlos und bessere Compiler, da muß man nicht mit überalterter Software arbeiten.
Schau mal hier nach: http://www.kharchi.eu/wiki/doku.php?id=cpp:tools