Default Value für Parameter
-
Hallo!
Ich habe eine Funktion mit 3 Parametern. Für alle 3 habe ich Defaultwerte festgelegt.
Ist es nun möglich beim Aufruf für den 3. Parameter einen anderen Wert zu übergeben, und für die ersten beiden den Defaultwert zu verwenden?
Danke!
mfg
-
also du hast:
int foo( int a = 1, int b = 2, int c = 3 ) { return 42; } // und du möchtest (sinngemäß) foo( , , 4 );
aufrufen?
Ne, geht nicht.
Greetz, Swordfish
-
Da fällt mir spontan nur ein, die Funktion zu überladen und mit verschiedenen Parametern aufzurufen.
-
Hmm... mach die nen const value... (oder nen define) ... und setz das als Default Value... so... wenn de die Funktion dann aufrufst und du denn 3. Parameter vom default abweichend hast, dann gibtst de einfach bei den anderen 2 wieder die default ein... feddich...
-
Wenn Du für den 3. Parameter einen anderen Wert übergeben willst
auch 1. und 2. Parameter beim Funktionsaufruf (also deine Defaults dafür)vollständig angeben.int foo( int a = 1, int b = 2, int c = 3 ) { return 42; }
// und du schreibst dann z.B
foo(1, 2, 4 );
-
Boost.Parameter könnte eine Lösung sein, lohnt sich aber nicht immer.
-
@Helmut S ... was ich gesagt hab war so in etwa das selbe
Nur mit nem Define oder nem const value hast de dann beide Werte sofort geändern, sobald du einen änderns
-
(D)Evil schrieb:
@Helmut S ... was ich gesagt hab war so in etwa das selbe
Nur mit nem Define oder nem const value hast de dann beide Werte sofort geändern, sobald du einen änderns
was du gesagt hast, wäre fast schon ein fall für thedailywtf