Veröffentlicht 18. Dezember 200915 j Hallo, bin ein Anfänger in Sachen C++ und habe folgendes Problem: Ich habe 3 Dateien. Eine Headerdatei mit class. Die Funktions-Datei. Eine Main.cpp Datei, in der eine Funktion aufgerufen wird, die mir einen Namen zurück geben soll. der Name wird als: char name[20]; definiert. Meine Idee: eine Funktion schreiben, in der der User den Namen eingeben kann und mir dann den Namen als Rückgabewert zurück gibt. Mir wurde gesagt, dass ich mit Pointern arbeiten soll, aber es funktioniert nicht. Mein Code der Funktion: char* inputName () { char* name = new char[20]; cout << endl << "Geben Sie bitte den Namen des Interpreten ein: "; cin >> name; return name; } Ich bekomme die Fehlermeldung, dass ich ein char* habe, als Rückwert, aber es nicht kompatibel zu char[20] sei.
18. Dezember 200915 j Was machst du denn mit dem Rückgabewert? Falls du versuchst, ihn einem char[20] zuzuweisen: Einem Array kann man nichts zuweisen. Besser wäre es, wenn du std::string benutzen würdest. Man muss sich in C++ nicht mehr mit Zeigern rumärgern. Dann kann der Aufrufer auch nicht vergessen, den Speicher wieder freizugeben.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.