在地图中存储参考
Storing references in a map
我试图将一个 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()’
我到底做错了什么?
我试图将一个 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()’
我到底做错了什么?