Здравствуйте. У меня есть контейнер map со значениями. Подскажите, пожалуйста, как правильно присвоить значение из него строке, которая находится в структуре? Я пробовал делать так:
| Код |
typedef map<string, unsigned> StrMap;
struct resultStruct { unsigned int count; string key; };
//Здесь заполняется StringMap
int arrayUnique = StringMap.size(); resultStruct * result = (resultStruct*)malloc(sizeof(resultStruct) * arrayUnique);
int i = 0; for(StrMap::iterator it=StringMap.begin(); it != StringMap.end(); ++it) { result[k_iter].key.assign(it->first); result[k_iter].count = it->second; }
|
Но даже в процессе написания кода я догадывался что так не выйдет. И точно вывалилась Segmentation Fault, а GDB подтвердил сомнения насчет строки
| Код | result[k_iter].key.assign(it->first);
|
Мне кажется, что я пытаюсь присвоить значение не существующей строке. Попробовал
| Код | result[k_iter].key(it->first);
|
Понятное дело, ничего не вышло... Подскажите как сделать правильно присвоение значения в данном случае? |