000
06.04.2006, 17:37 Uhr
~ChrisR
Gast
|
Hallo!
Kann man in C++ eine Funktion auch so definieren, dass man ein Array wie folgt übergeben kann (oder so ähnlich)?:
funktion1({1, 2, 3});
oder
funktion(1, 2, 3);
Es soll also nicht ein Pointer auf das erste Element des Arrays übergeben werden, sondern die Werte sollen als Konstanten direkt in die Parameterklammer geschrieben werden können.
Ich bräuchte das für die Implementierung eines Konstruktors für meine Vektor-Klasse. Lauter einzelne Argumente für die Vektor-Elemente zu definieren ist 1. unschön und 2. variiert die Anzahl, da die Größe meines Vektors nicht fix ist, sondern als Template-Parameter angegeben wird.
Falls das nicht geht: alternativ müsste es doch mit dieser ...-Syntax möglich sein. Allerdings schreibt der C++-Erfinder dazu in seinem Buch dass man das nur machen soll, wenn sowohl die Anzahl als auch die Typen nicht fix sind. Und die Typen stehen bei mir ja fest (ist ebenfalls ein Template-Parameter).
Danke schonmal!
mfg |