14
ottengo un errore di compilazione di utilizzare questo:std :: bind to std :: function?
std::vector<std::function<int(int)>> functions;
std::function<int(int, int)> foo = [](int a, int b){ return a + b; };
std::function<int(int)> bar = std::bind(foo, 2);
functions.push_back(bar);
L'errore che ottengo è:
/usr/include/c++/4.6/functional:1764:40: error: no match for call to '(std::_Bind<std::function<int(int, int)>(int)>) (int)'
qualcuno può dirmi come convertire un std::bind
in un std::function
?
Non '& foo', ma correggere a parte quello. – Xeo
È inoltre necessario 'using namespace std :: placeholders'. – juanchopanza
@Xeo ha corretto che – inkooboo