Mã sau đây biên dịch nhưng sản lượng không xác định đầu ra trong VC++ 2015 (bản phát hành) và lỗi thời gian chạy với other compilers.Gán std :: function <int(int)> thành std :: function <const int & (const int & x)>
#include <functional>
#include <iostream>
int main()
{
std::function<int(int)> f = [](int x) { return x; };
std::function<const int&(const int& x)> g = f;
std::cout << g(42) << std::endl;
}
Tại sao bài tập g = f;
được cho phép?
biên dịch và thực hiện hoàn hảo với tiếng kêu của táo –
Khả năng liên quan cao/có thể có: http://stackoverflow.com/q/32871606/2069064 – Barry