Argumente dynamisch übergeben?



  • hallo alle zusammen,

    ist es möglich ein funktion zu definieren die einen bestimmten Datentyp
    erhält, davon aber nicht eine festgelegte anzahl an parametern übergeben werden muss. Sondern beim Funktionsaufruf eine beliebige anzahl verschiedener
    argumente dieses typs übergeben werden kann.(in c++);
    Wenn ja, und wie man das macht mir jemand sagen kann wäre ich schon sehr
    glücklich....

    peace
    fabx;



  • da gibt es verschiedene methoden, eine der dreckigsten ist die verwendung von "...", also va_list (variable argument list afaik). Google mal danach.
    du kannst aber auch einen container übergeben, der den gewünschten datentyp enthält oder eigene container ähnliche klassen schreiben. das würde ich bevorzugen



  • wie wärs mit(ganz primitiv)
    [cpp]
    void dynVarFunc(int iInts[], int iNumInts);
    [cpp]

    naja, wäre eine gaaanz einfache und unflexible lösung ...



  • ... überprüft den Typ nicht.

    Du kannst aber einen std::vector, eine std::list oder Vergleichbares verwenden.

    void tolle_funktion (std::vector<Typ> & die_parameter)
    {
       ...
    }
    

    Das Erstellen eines solchen vectors vor der übergabe könnte aber störend sein.



  • dankschee , jungs,... dann wer ma mal gucke ,)


Anmelden zum Antworten