Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Dimas от Июль 12, 2016, 17:31



Название: qVector и struct
Отправлено: Dimas от Июль 12, 2016, 17:31
Создал структуру данных:

Код:
//Параметры цели
struct stTarget
{
    quint16     Nc;

    float       Xc;
    float       Yc;
    float       Zc;
};

//Кадр данных
struct stFrame
{
    quint32     n;      //Номер кадра
    double      t;      //Время, с

    QVector<stTarget> Target;
};

//Все кадры
QVector <stFrame> all_Frame;

Пытаюсь ее заполнить:
Код:
QVector<stTarget> Target;
stTarget tmpTarget;

//Всего кадров
for (int k=0; k<5; k++)
{
    //Текущие цели
    for(int n=0; n<100; n++)
    {
        tmpTarget.Xc=0;
        tmpTarget.Zc=1;
        tmpTarget.Yc=2;

        Target.push_back(tmpTarget);
    }

    //Как задвинуть кадр правильно?
    //Это не работает
    all_Frame.push_back(Target);
}

Получаю ошибку:
Цитировать
TestStructMini\main.cpp:43: ошибка: no matching function for call to 'QVector<stKard>::push_back(QVector<stTarget>&)'

Как правильно заполнять all_Frame?

Проект прилагаю


Название: Re: qVector и struct
Отправлено: Bepec от Июль 12, 2016, 17:51
TestStructMini\main.cpp:43: ошибка: no matching function for call to 'QVector<stKard>::push_back(QVector<stTarget>&)'
Расшифровка.
Господина, я пытаюсь запихнуть QVector<stTarget>& в контейнер QVector<stKard>. Ногами пихаю - не входит, руками пихаю - не входит. Мб стоит в QVector<stKard>& запихивать stKard, а не QVector<stTarget>?


Название: Re: qVector и struct
Отправлено: Dimas от Июль 12, 2016, 17:59
Мне нужно заполнить QVector <stFrame> all_Frame
Контейнер запихнуть в контейнер.

Есть много кадров данных, в каждом кадре есть номер кадра и время, и может быть несколько целей у которых есть параметры в виде координат x,y,z

Как правильно наполнить all_Frame данными?


Название: Re: qVector и struct
Отправлено: Igors от Июль 12, 2016, 18:21
Код
C++ (Qt)
QVector<stFrame> Target;
stFrame tmpFrame;
 
//Всего кадров
for (int k=0; k<5; k++)
{
   tmpFrame.n = ???;
   tmpFrame.t = ???;
 
   //Текущие цели
   for(int n=0; n<100; n++)
   {
       stTarget tmpTarget;
       tmpTarget.Nc= ???;
       tmpTarget.Xc=0;
       tmpTarget.Zc=1;
       tmpTarget.Yc=2;
 
       tmpFrame.Target.push_back(tmpTarget);
   }
 
   all_Frame.push_back(tmpFrame);
}
Вместо вопросов подставите что нужно (этого я не знаю)


Название: Re: qVector и struct
Отправлено: Dimas от Июль 12, 2016, 18:33
Спасибо большое. Вопрос решен.



Название: Re: qVector и struct
Отправлено: Bepec от Июль 12, 2016, 20:38
А в чем корень проблемы, врядли понятно ТСсу. Ну да и бог с ним :)