2016-12-08 2 views
-2

Если я класс, напримерКак реализовать функцию лямбда-

class A 
{ 
    A(int size,std::function????){}; 
} 

Как использовать лямбда-функции для инициализации в конструкторе

A a(5,[](){}); 

пример initilsation как

for(int i=0;i<5;i++) 
    a[i]=3*i; 
+0

Подсказка: изучите, какой параметр шаблона 'std :: function' является и как он относится к сигнатуре функции. Затем выясните, что такое подпись лямбды, и постройте соответствующий параметр шаблона. –

+0

Это неясно. Что вы хотите, чтобы на самом деле лямбда? Каково отношение цикла for к остальной части кода? – aschepler

+0

, чтобы установить значения данных A для любой функции, например a [i] = i^2; или a [i] = 1^3 –

ответ

1

Изготовитель конструкции шаблон:

class A 
{ 
public: 
    template <typename F> 
    A(int size, F f) {} 
}; 
Смежные вопросы