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.
Hexagon Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 Moin. Bist du dir sicher, daß es an der Stelle return name; hängt?
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden