Re: хитрая конструкция
От: Abyx Россия  
Дата: 06.03.15 12:41
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>
H_C>template <class F, class... Args>
H_C>    void fa(F f, Args&&... args) {
H_C>        [](...){}((f(std::forward<Args>(args)), 0)...);
H_C>}
H_C>


это неправильная конструкция, f вызовется для аргументов в произвольном порядке.
правильно использовать массив или список инициализации
(void)std::initializer_list<int>{(f(std::forward<Args>(args)), void(), 0)...};


btw можно еще подискутировать как это называется тут — http://stackoverflow.com/questions/28887549/how-to-call-the-idiom-of-using-an-array-to-apply-a-function-to-a-variadic-pack
In Zen We Trust
Отредактировано 06.03.2015 12:42 Abyx . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.