Gnomefresser Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 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. Zitieren
Hexagon Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 Moin. Bist du dir sicher, daß es an der Stelle return name; hängt? Zitieren
Klotzkopp Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.