C++ Personenliste (als vector programmieren)
-
Hallo, wollte bei folgendem Code die [Ausgabe des Vektors in einer Funktion print() auslagern].
Nur meckert C++ beim Funktionsaufruf print() das dort ein Fehler ist.Wäre echt nett wenn mir dort jmd. helfen kann?
Hier der Gesamtcode:============================
#include <iostream> using namespace std; #include <string> #include <vector> class Person { public: string name = ""; int alter; }; void print(Person my_list) { for (int i = 0; i < my_list.size(); i++) cout << "[Person" << i+1 << "= Name: " << my_list[i].name << ", Alter: " << my_list[i].alter << "]\n"; } int main() { int anzahl_personen = 0; cout << "Wie viele Personen wollen Sie hinzufuegen? "; cin >> anzahl_personen; //z.B. 3Stk vector<Person> my_list(anzahl_personen); //Benutzereingaben: int i = 0; for (; i < my_list.size(); i++) { cout << "Person" << i + 1 << ":\n" << "Name: "; cin >> my_list[i].name; cout << "Alter: "; cin >> my_list[i].alter; cout << endl << endl; } //Ausgabe: print(my_list); system("PAUSE"); }
================================================
-
Vergleiche mal den Typ des Parameters den du übergibst (
my_list
) mit dem Typ des Parameters in der Definition der Funktionprint()
.
-
Der Compiler sagt "dort ist ein Fehler"?
So einen verstockten Compiler habe ich noch nie gesehen.
-
Danke Swordfish,
hab da nicht gewusst dass ich beim Funktionsparameter nochmal vector<Person> schreiben muss.Habs jetzt gelöst