Đoạn mã này thất bại trong việc biên dịch và tôi không biết nếu đó là vì nó không thể được thực hiện, lambdas không kế thừa từ binary_function, hay nó chỉ là rằng tôi nhận được cú pháp saiCó thể sử dụng currying với các hàm lambda không?
#include <functional>
int main(int argc, const char *argv[])
{
auto lambda = [](int x, int y) -> int { return x + y; };
auto sumFive = std::bind1st(lambda, 5);
return 0;
}
Chỉnh sửa nhỏ: lambdas không liên quan gì đến việc triển khai các mẫu 'std :: bind' và' 'std :: function'' - và variadic giúp dễ dàng/làm việc cho một số lượng tham số vô hạn. – ltjax
@Itjax: Vâng, cảm ơn. Tôi đã gộp một vài thứ lại với nhau ở đó. Thực tế là, trong C++ 11 bạn có thể tự do ràng buộc bất cứ điều gì, và đặc biệt là lambdas. Điều khác tôi đoán là 'std :: function' là cần thiết như là một loại người nhận cho lambdas, có loại thực tế không được biết đến. –
Rất lạ khi có loại không thể đặt tên. – Omnifarious