0
Edge
{
Vertex& v1;
Vertex& v2;
float cost;
public :
Edge(Vertex& v_1, Vertex& v_2) :
v1(v_1), v2(v_2)
{
}
// other getter and setter functions
};
벡터 allEdges는 어떻게 만듭니 까? 벡터로 지원되는 기본 생성자와 대입 연산자를 생성해야하지만, 이미 기본 생성자가 없기 때문에 문제가 발생한다는 것을 알 수 있습니다.참조가 들어있는 객체의 벡터
나는 std :: vector가 내게 소리 치는 기본 생성자를 만들었지 만, 옳은 일처럼 보이지는 않습니다.
상당히이다 : 아래의 예에서 알 수있는 바와 같이
그러나 차례로 멤버 변수로서 참조가 개체의 벡터를 갖는 완전히 허용 가능 제한적. – 101010
저는 정점을 복사하기 때문에 요소를 사용하고 싶지 않습니다. 꼭지점은 const로 남아 있지만 (추가/제거되지 않음) 구현 후 5 년 후에도 동일하게 유지 될 것이라고 말할 수는 없습니다. – navderm
당신은'Vertex'에 대한 포인터를 사용할 수 있습니다. – 101010