vector als Funktionsargument übergeben



  • Hallo!
    ich möchte ein objekt vom Typ vector an eine Funktion übergeben, ich habe ein kleines Beispielprogramm geschrieben:

    void ausgabe(vector a)
    { for(int i=0;i<a.size();i++) cout<<vector[i]<<endl;
    }

    int main()
    {vector<int> x;
    x.push_back(2);
    x.push_back(3);
    ausgabe(x);
    return 0;
    }

    so in etwa sollte das aussehen, aber der compiler liefert mir fehlermeldungen zurück. wie kann ich denn die funktion definieren, sodass sie weiß, dass sie einen vector bekommt?

    lg,
    Isomorphismus



  • entweder so

    void ausgabe(vector<int>& a) 
    {
        for(int i=0;i<a.size();i++) cout<<a[i]<<endl; 
    }
    

    oder als template

    template<typename T>
    void ausgabe(vector<T>& a)
    {
       for(int i=0;i<a.size();i++) cout<<a[i]<<endl; 
    }
    
    int main() 
    {
        vector<int> x; 
        x.push_back(2); 
        x.push_back(3); 
        ausgabe<int>(x); 
    
        return 0; 
    }
    

Anmelden zum Antworten