Đối với đoạn mã sau:C++ 11 lambda trong decltype
auto F(int count) -> decltype([](int m) { return 0; })
{
return [](int m) { return 0; };
}
g ++ 4.5 cung cấp cho các lỗi:
test1.cpp:1:32: error: expected primary-expression before 'int'
test1.cpp:1:32: error: expected ')' before 'int'
vấn đề là gì? Cách chính xác để trả về lambda từ một hàm là gì?
+1 cho câu trả lời hoàn chỉnh –
1 cho thanh toán bù trừ lên vấn đề. Tôi đã kiểm tra bản dự thảo SC22-N-4411 và tìm thấy loại cụm từ đáng sợ mà nói rằng "mỗi biểu thức lambda có một kiểu duy nhất". – 6502
@ 6502: Vâng, thực tế đó khiến tôi nhận ra lý do kích thước thực thi của tôi đột nhiên tăng 10% do 'stable_sort'. – Mehrdad