나는 table_list액세스
class GroupingClass
{
table_list m_table_list;
string Buildkey(OD e1){
string ostring;
ostring+=string(e1.m_Date,sizeof(Date));
ostring+=string(e1.m_CT,sizeof(CT));
ostring+=string(e1.m_PT,sizeof(PT));
return ostring;
}
void operator() (const map<short1,short2>::value_type& myPair) {
OD e1=myPair.second;
string key=Buildkey(e1);
m_table_list[key][e1.m_short1]=e1.m_short2;
}
operator table_list() {
return m_table_list;
}
};
채우기 클래스가 나는
table_list TL2
GroupingClass gc;
TL2=for_each(mapOD.begin(), mapOD.end(), gc);
하지만 때 의해 사용
typedef short short1
typedef short short2
typedef map<short1,short2> data_list;
typedef map<string,data_list> table_list;
을 정의 복잡한지도가 내부지도에 액세스하려고합니다. 문제가 있습니다. 예 :
data_list tmp;
tmp=TL2["AAAA"];
short i=tmp[1]; //I dont update i variable
0을 디버깅 할 때, 나는 코드를 볼 수는 TMP의 var에 오류이 원인 const
때 map.then 새로운 값을 추가하려고
하지만 난 제대로 itrator에 의해 이유를이 작품을 루프를 사용하는 경우 처음에는 아무런 작업이 없었습니다 감사합니다 herzl
지도에 예상 한 내용이 포함되어 있는지 확인 하시겠습니까? 예를 들어'm_table_list [key] [e1.m_short2] = e1.m_short2; '라는 줄은 의심스럽고 키와 값은 같습니다 ... – Nim
지도가 다른 방법으로 포함되어 있는지 확인합니다 : for (it = tmp.begin(); it! = tmp.end(); it ++) {i = it-> first; j = it-> second; } –
은 구조체 OD를 보여 주시기 바랍니다.이 구조체는 아마도 암시 적 생성자가 short이고 m_short1, m_short2, m_Date, m_CT 및 m_PT라는 멤버가 있습니다. 펑 터는 일반적으로 가볍고 문자열에서부터 짧은지도까지의 맵을 포함하지 않습니다. – CashCow