Probleme mit Zeiger
-
nabend
das ist relativ wichtig für mich, darum bitte ich euch es evt selbst zu kompilieren
also
ich habe volgenden zeiger deffiniert:
char* name[17] = { "Andali", "Beciri","...","usw" }; und möchte den namen 1 ändern mit der zeile
cin >> name[1];
das Problem ist, wenn ich nun im laufenden Prog eben das mache (den namen eingeben) stürzt es ab und beendet
danke für die hilfe
-
dein array besteht aus stringliteralen die konstant sind, dh sie dürfen nicht verändert werden. benutze besser die klasse string, dann passiert dir das auch nicht.
-
danke..aber was heisst das im klartext für newbies?
vieleicht mit beispiel?
danke
-
das bedeuted, dass
"Andali"
absolut konstant, also unveränderbar ist. dh du musst den string benutzen:
#include <string> using namespace std; string name[17]={ "Andali", "Beciri","...","usw" }; //später im code cin >> name[1];
und fertig.
-
Oh Danke ... jetzt is klar
-
Gurrnder schrieb:
danke..aber was heisst das im klartext für newbies?
Dass du String Literale immer const definieren solltest, zB
const char* name[17] = { "Andali", "Beciri","...","usw" };
Dann sagt dir der Compiler schon was Fakt ist.
Und wie du veränderbare Strings verwenden kannst, weisst du ja jetzt.