Ich habe folgenden Vektor:Legen unique_ptr in Vektor als Paar
std::vector< std::pair< std::unique_ptr<CEdit>, CRect >> m_editCtrls;
Ich versuche, hier einige Daten einfügen:
std::unique_ptr<CEdit> edit = std::make_unique<CEdit>();
CRect rectEdit;
//Init edit....
//1 - This doesn't work
std::pair< std::unique_ptr<CEdit>, CRect > pair = std::make_pair<std::unique_ptr<CEdit>, CRect>(std::move(edit), rectEdit);
//2 - This also
m_editCtrls.insert(std::make_pair(std::move(edit), rectEdit));
Im ersten Fall ich Fehler bekommen - no instance of function template
, in zweite - no instance of overloaded function
.
Welches ist der richtige Weg, um diesen Zeiger in den Vektor einzufügen?
Danke für Hilfe.
Unmöglich zu sagen, ohne die Definition von 'CRect' zu kennen. –
funktioniert 'insert' ohne einen 'iterator', der auf den Ort der Einfügung zeigt? – PYA
'Crect' und' CEdit' sind Standardsteuerelemente MFC-Klassen. – drewpol