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 Funktion print() .



  • 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 🙂


Log in to reply