8
我试图将foo
对象存储到std::reference_wrapper
中,但是最终出现了我不明白的编译器错误。在地图中存储引用
#include <functional>
#include <map>
struct foo
{
};
int main()
{
std::map< int, std::reference_wrapper<foo> > my_map;
foo a;
my_map[ 0 ] = std::ref(a);
}
编译器错误是相当漫长的,但它归结为:
error: no matching function for call to ‘std::reference_wrapper<foo>::reference_wrapper()’
我究竟在做什么错?
的std ::的reference_wrapper没有默认构造函数 – 2015-03-31 08:14:08