Member 12277263 Ответов: 1

Как использовать storedlist в цикле на C++


Как использовать storedList в цикле, для brandList, имеющего два значения типа (Id, text), и я хочу сохранить это в результате, я попробовал этот способ, я не знаю, что делать. Пожалуйста, помогите мне, ребята.

String *Util::Brands( ) __gc[]
{
    String *result __gc[];
    result = 0;
    SortedList  *brandList = 0;

    if (brandList == 0)
    {
        brandList = BrandCodes();            
    }       

    for (int i =0; i<= brandList->Count; i++)
    {
        result = new String * __gc[2];
        //result[0] = brandList[i]
        //result[1] = brandList[i]
    }

    return result;
}


Что я уже пробовал:

for (int i =0; i<= brandList->Count; i++)
    {
        result = new String * __gc[2];
        //result[0] = brandList[i]
        //result[1] = brandList[i]
    }

Patrice T

Почему вы публикуете вопрос с одним и тем же кодом более одного раза?
Как использовать массив списков в C++[^]
Примечание: этот вопрос так же запутан, как и первый.
вам нужно четко объяснить, в чем ваша проблема.

1 Ответов

Рейтинг:
5

Steve44

Это может быть не решение, так как неясно, чего вы хотите достичь, пожалуйста,приведите пример "если brandList содержит a,b, c, то результат должен выглядеть как x, y, z"

Но уже есть несколько очевидных проблем, возможно, это даст вам несколько подсказок, как действовать дальше:

Ваш индекс i выходит за пределы массива brandList в последнем цикле. Исправление: использование < вместо <=:

for (int i =0; i < brandList->Count; i++)
    {
        result = new String * __gc[2];
        //result[0] = brandList[i]
        //result[1] = brandList[i]
    }

Другая проблема заключается в том, что в каждом цикле вы отбрасываете предыдущий результат:
for (int i =0; i < brandList->Count; i++)
    {
        result = new String * __gc[2]; // This throws away the previous content
                                       // of result and allocates a new one.
        result[0] = brandList[i];
        result[1] = brandList[i];
    }
    // now result[0] and [1] contains brandList[brandList.Count-1] only