C++ String in Funktion
Hallo Ich würde gern eine Funktion schreiben die mir einen string "wert" setzt. So hab ich es geschrieben (sieh unten). Leider funktioniert es nicht was mach ich falsch?
(Alles was ich in C++ gelernt habe habe ich selbst erlesen, daher bitte nicht haten wenn ich etwas sehr offensichtliches nicht verstehe. Ich versuch im Moment es mir selbst zu erlernen )
beim compilieren gibt es kein Problem, aber beim ausführen sieh Bild
Bin über jede konstruktive Hilfe sehr dankbar (=
(Alles was ich in C++ gelernt habe habe ich selbst erlesen, daher bitte nicht haten wenn ich etwas sehr offensichtliches nicht verstehe. Ich versuch im Moment es mir selbst zu erlernen )
#include <iostream>
using namespace std;
string feld(int x)
{
string y = 0;
switch(x)
{
case 1:
y = "Test";
break;
case 2:
y = "Test 2";
break;
default:
y = "Error";
break;
}
return y;
}
int main()
{
int x= 0;
string z = "0"; // Wurde nachträglich nach 1.Antowrt EDITIERT
cin >> x;
z = feld(x); // Wurde nachträglich nach 1.Antowrt EDITIERT
cout << z;
}
beim compilieren gibt es kein Problem, aber beim ausführen sieh Bild
Bin über jede konstruktive Hilfe sehr dankbar (=
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 364768
Url: https://administrator.de/contentid/364768
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
7 Kommentare
Neuester Kommentar
Ansonsten die Fehlermeldung einfach bei Google eingeben:
_s_construct null not valid
_s_construct null not valid
Hallo,
Ich bin auch weit von dem Experten weg aber hier war mir so also ob...
Und deine Lösung war ?
Das Vergessen das Headerfile zu inkluden !?
~Arano
Ich bin auch weit von dem Experten weg aber hier war mir so also ob...
Und würde eine String-Variable auch explizit mit einem String initialisieren, also nicht z = 0 sondern z = "0".
"string
" ist hier ja KEIN Standard-Datentyp (char/int/bool) sondern eine Klasse, eine Klasse die intern char#s
verarbeitet.C++-Reference - String
default (1)
...
(1) empty string constructor (default constructor)
Constructs an empty string, with a length of zero characters.
Durch den Konstruktor der Klasse, muss (in diesem Fall) also keine Zeichenkette zur Initialisierung übergeben werden, weil die Klasse "sich selber" mit "leer" initialisieren kann.default (1)
string();
...
(1) empty string constructor (default constructor)
Constructs an empty string, with a length of zero characters.
// vim: set ts=4:
#include <iostream>
#include <string>
int main( void )
{
//std::string t("Administrator.de");
//std::string t = Administrator.de";
std::string t;
// t = "Administrator.de";
std::cout << t.length() << " " << t << << "." << std::endl;
// Ausgabe: "0 ."
return 0;
}
Und deine Lösung war ?
Das Vergessen das Headerfile zu inkluden !?
#include <string>
~Arano