Проблемма со структурой (struct).

  • Хочу сохранять динамично Данные, проблема в том, что сохранение происходит только один раз, хотя шляйфа проходит до самого конца!Сохраняются только первые данные, при первом пробеге!


    m_poStart = new SignalValue;
    m_poEnd = new SignalValue;
    m_poStart->m_poNextValue=m_poEnd;


    for(iter = oListChildren.begin(); iter != oListChildren.end(); ++iter)
    {
    rowValue = *iter;
    m_poEnd->m_StrValueSignalName = sTextSignal;
    m_poEnd->m_StrValueName = rowValue[m_StrSignalName];
    m_poEnd->m_iValueWert = rowValue[m_iValue];


    m_poEnd->m_poNextValue = new SignalValue;
    m_poEnd = m_poEnd->m_poNextValue;


    std::cout<<"GESPEICHERT"<<std::endl;
    }



    struct SignalValue
    {
    Glib::ustring m_StrValueSignalName;
    Glib::ustring m_StrValueName;
    int m_iValueWert;
    SignalValue* m_poNextValue;
    };


    SignalValue* m_poStart;
    SignalValue* m_poEnd;

  • Создавать новые элементы в списке ( new SignalValue; ) нужно внутри цикла. Примерно так:

    • Создать элемент
    • скопировать в него данные
    • подвесить в список

    Так у тебя всего 2 элемента и ты в последний заносишь данные. Если так было задумано, то не хватает
    m_poEnd = m_poStart;
    перед циклом

  • Отлично! Спасибо за помощь! Была такая маленькая ошибочка, которую я не видел! Всегда случаются какие нибудь портаки!
    Спасибо ещё раз!