Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Array übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.04.2006, 21:20 Uhr
kronos
Quotenfisch
(Operator)


sowas

C++:
funktion1((int[]){1, 2, 3});

ist möglich, aber da übergibst du auch nur 'nen pointer und das ist auch gut so :-)
Wo ist das Problem dabei, deinen vector mit 'nem array zu initialisieren?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.04.2006, 08:28 Uhr
~ChrisR
Gast


Das Problem ist dass ich nicht immer wenn ich z.B. einen 2D-Vektor anlegen will vorher extra ein Array anlegen will. Mir ist es nur darum gegangen das ganze in eine Zeile zu bringen.

Aber so wie du es vorgeschlagen hast dürfte es gehen. Danke.

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.04.2006, 08:44 Uhr
~ChrisR
Gast


...hmmm, das von oben funktioniert nicht. Der Compiler sagt mir " Syntaxfehler: Es fehlt ')' vor '{'". Diese Syntax ist anscheinend nicht erlaubt.

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: