개요 : 각 문자열의 마지막 문자를 찾기 위해 문자열 (이름) 목록을 반복하는 코드가 있습니다. 또한 값 유형으로 구조체를 사용하는 myGraph typedef 맵이 있습니다. 구조체는 벡터 노드와 벡터 next_cnt를 포함합니다.벡터를 값 유형으로 사용하여지도에 값을 추가하는 방법은 무엇입니까?
해야 할 일 : 새로운 문자가지도에 삽입 될 때마다 벡터 nextwt_vec를 빈 벡터로 초기화해야합니다.
문제점 : 아래 코드를 사용하면 myweek_wc는 이전 문자의 이전 값을 유지합니다.
map<char, vector<int> > nextmap;
for (myGraph::const_iterator j = graph.begin(); j != graph.end(); ++j)
{
vector<int> nextwt_vec;
//populating next map with char and weighted ints
for (int p=0; p< (int) (*j).second->nodenext.size(); ++p)
{
char cn = name[name.length() - 1];
int wt = (*j).second->next_cnt[p];
nextwt_vec.insert(nextwt_vec.begin()+p, wt);
//puts char as key and weighted int as value in nextmap
n->nextmap[cn] = nextwt_vec;
}
출력 : 내가 무엇을 얻을 :
char: A vec: 109
char: C vec: 109 vec: 48
출력 내가 가야한다 : 당신의 도움에 대한
char: A vec: 109
char: C vec: 48
감사합니다!
이동 선언'벡터 nextwt_vec을,'* 내부 *은'for' 루프. –
나는 그것을 얻지 않는다. 텍스트를 어디에서 출력합니까? 'char : C vec : 109 vec : 48 '은 무엇을 의미합니까? – sehe
@KerrekSB 할 때 세그먼트 오류가 발생합니다 : 11 오류 – snazziii