Ich habe versucht, ein foo
Objekt in einem std::reference_wrapper
zu speichern, aber ich am Ende mit einem Compiler-Fehler, den ich nicht verstehe.Speichern von Referenzen in einer Karte
#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);
}
Der Compiler-Fehler ist ziemlich lang, aber es läuft darauf hinaus, diese nach unten:
error: no matching function for call to ‘std::reference_wrapper<foo>::reference_wrapper()’
Was genau mache ich falsch?
std :: reference_wrapper hat keinen Default-Konstruktor –