세그먼트 번호가 있습니다. 이 세그먼트는 특정 개체에 속합니다. 즉, 하나의 객체에는 여러 세그먼트가 있습니다. segment 레이블은 어떤 세그먼트가 어떤 개체에 속해 있는지 알려줍니다. 이제 개체 라벨과 관련하여 내 세그먼트 번호를 분할하고 싶습니다.프로그래밍 오류 - 프로그램에서 나를 데려왔다
나는 아래 코드를 작성했습니다. 개체의 수 (최대)를 알고 있다고 가정합니다. 내가 컴파일 할 때
클래스 세그먼트는이 오류를 제공하지 않습니다, 세그먼트
Segments mysegments;
Segments::const_iterator itr;
vector<Segments> segments_per_obj;
segments_per_obj.resize(max);
for (itr= mysegments.begin(); itr!= mysegments.end(); itr++){
segments_per_obj[itr->Label()].push_back(*itr);
}
의 벡터로 정의된다.
Segments mysegments;
Segments::const_iterator itr;
vector<Segments> segments_per_obj;
for (itr= mysegments.begin(); itr!= mysegments.end(); itr++)
{
int index = itr->Label();
for (int i = segments_per_obj.size(); i <= index; ++i)
{
segments_per_obj.push_back(<create a new segment>);
}
segments_per_obj[index].push_back(*itr);
}
또는지도를 사용 제안
이 더 적합 같습니다 하지만 (myprog.exe)를 실행할 때, 내 프로그램의 외출 및myprog.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
Please tell Microsoft about this problem.
@ 크리스 벡터 대신지도를 사용합니다. – slinga
아마도'resize' 호출이 필요 하겠지만 size 생성자를 호출하는 것이 낫습니다. 벡터가 아니라지도를 원하는 것처럼 보입니다. – chris