2017-11-21 1 views
1

쌍으로 벡터에 unique_ptr 삽입 second - no instance of overloaded function.내가 벡터 다음 한

이 포인터를 벡터에 삽입하는 적절한 방법은 무엇입니까?

감사합니다.

+1

'CRect'의 정의를 알지 못해서는 말할 수 없습니다. –

+1

insert의 위치를 ​​가리키는'iterator'없이'insert'가 작동합니까? – PYA

+0

'Crect'와'CEdit'는 표준 컨트롤 MFC 클래스입니다. – drewpol

답변

2

std::make_pair에 템플릿 인수를 전달하지 마십시오. 그냥 추론하도록하십시오. Steven Lavavej의 this video(link)을 참조하십시오.

std::pair<std::unique_ptr<CEdit>, CRect> pair = std::make_pair(std::move(edit), rectEdit); 

std::vector 는 하나 개의 인자를 insert라는 기능이 없습니다 (덕분에 링크를 찾는으로 통행합니다). 위치에 대한 반복자를 전달해야합니다. 아마도 push_back을 찾고 계셨습니까?

m_editCtrls.push_back(std::make_pair(std::move(edit), rectEdit)); 

더 좋게는 emplace_back입니다.