Я попытался сохранить объект 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()’
Что именно я делаю не так?
станд :: reference_wrapper не имеет конструктор не по умолчанию –