Przekazywanie zmiennej liczby parametrów z funkcji do funkcji

0

Pytanie może banalne, ale odkąd uczę się C++ nie napotkałem takiego problemu, a więc:

template<typename type>
type costam<type>::useFunction(type data, ...)
{
    return this->lfunction(data);
}

W jaki sposób przekazać wszystkie parametry z metody do lfunction ? ("data, ..." nie działa :) )
I znacie jakieś lepsze sposoby na przekazanie zmiennej liczby parametrów ?

4

Tak, variadic templates.

#include <algorithm>
#include <iomanip>
#include <iostream>

using namespace std;

#define DBG(x) { cout << setw(40) << right << (#x) << (x) << endl; }

template <typename... Ts>
int my_printf(Ts&&... ts){
	return printf(forward<Ts>(ts)...);
}

auto main() -> int
{
	my_printf("cze %d, %s, %c\n", 123, ";)", '^');
}

http://melpon.org/wandbox/permlink/GUw2Kty0EKkHYX8c

1 użytkowników online, w tym zalogowanych: 0, gości: 1