std::vector
안에 엔티티를 반환하고 싶지만 컴파일러가 삭제 된 함수를 참조하고 있다고 알려줍니다.삭제 된 함수 참조하기 배열
vector<unique_ptr<Node>> children; //member of a class
unique_ptr<Node> Node::selectNext() { //function for a class
for (int i = 0; i < children.size(); i++) {
if (children[i]->getUI().mouseSelect())
return children[i]; //Problem is in this return statement
}
return nullptr;
}
나는 스마트 포인터와 충돌합니다.
이것은 비교적 쉽게 해결할 수있는 문제이지만, 내가 잘못했는지 확실하지 않습니다. 이 클래스는 노드 클래스이므로 문제가 이보다 클 수 있습니다.
문제를 재현하려면 * 완전한 * 코드를 제공해야합니다. 컴파일러 오류는 포함시켜야하는 매우 기본적인 것입니다. 우리는 당신의 모니터를 볼 수 없다. – cdhowie
불가능한 포인터를 복사하려고합니다. 수정 사항은 실제로 필요한 것에 달려 있습니다. – Sopel