template void f(int n, args ...)

12/11/2014 - 16:27 von Helmut Zeisel | Report spam
Ich habe eine Funktion f mit einer variablen Anzahl von int Parameter.

Folgende Definition klappt:

template<typename ... Args> void f(int n, Args ... args)
{
...
}

Die Args sollen aber alle int sein; wie definiere ich das syntaktisch richtig?

template<int ... args> void f(int n, int ... args)
{
...
}

oder

template<int ... args> void f(int n, args ...)

sind jedenfalls falsch.

Helmut
 

Lesen sie die antworten

#1 Gregor Szaktilla
12/11/2014 - 16:56 | Warnen spam
Hallo Helmut,

wenn ich Dich richtig verstehe, verstehst Du Templates flsach.

Wenn Du eine Funktion mit unterschiedlich vielen Parametern aufrufen
möchtest bzw. aufrufbar machen möchtest, stattest Du sie mit optionalen
Parametern aus. Bei der Deklaration kannst Du für die optional
benötigten Parameter Vorgabewerte festlegen.

Templates sind da, um den gleichen Algorithmus mit unterschiedlichen
Parametertypen anzuwenden.

HTH

Gregor

Ähnliche fragen