typedef struct
{
char Field1[256];
char Field2[256];
} Struct1;
typedef map<AnsiString, Struct1*> Map1;
Доступ к данным контейнера
Вот такая хрень:
Код:
хочу получить доступ к элементу контейнера, пытаюсь вот так:
Код:
Map1 Data1;
Map1::iterator Pos;
for (Pos = Data1.begin(); Pos != Data1.end(); ++Pos)
{
// Считывается нормально
Pos->first;
// А эта нет
Pos->second->Field2;
}
Map1::iterator Pos;
for (Pos = Data1.begin(); Pos != Data1.end(); ++Pos)
{
// Считывается нормально
Pos->first;
// А эта нет
Pos->second->Field2;
}
что я делаю не так?
думаю, ты с чарами не правильно работаешь
или пытаешься считать значение структуры когда
ее уже нет(ты в мапе храниш укзатель на структуру, а не ее саму)
или напиши что за ошибку выдает
вот поробывал все работает
Map1 Data1;
Struct1 s;
s.Field1[0] = '0';
s.Field2[0] = '1';
Data1.insert(std::make_pair("123",&s));
Map1::iterator Pos;
for (Pos = Data1.begin(); Pos != Data1.end() ;++Pos)
{
Pos->first;
char* str = Pos->second->Field2;
// здесь str = '1';
}
Цитата:
Originally posted by bas
думаю, ты с чарами не правильно работаешь
думаю, ты с чарами не правильно работаешь
что, что а с этим я вроде научился работать, я проверяю данные перед добавлением в контейнер.
Цитата:
или пытаешься считать значение структуры когда
ее уже нет(ты в мапе храниш укзатель на структуру, а не ее саму)
а косяк у меня с указателями на структуры, как правильно реализовать пока не дошел. :(