Russian Qt Forum
Сентябрь 30, 2024, 22:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qVector и struct  (Прочитано 4826 раз)
Dimas
Чайник
*
Offline Offline

Сообщений: 50



Просмотр профиля
« : Июль 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?

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

qt 4.8.6, qt 5.12.4
Bepec
Гость
« Ответ #1 : Июль 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>?
Записан
Dimas
Чайник
*
Offline Offline

Сообщений: 50



Просмотр профиля
« Ответ #2 : Июль 12, 2016, 17:59 »

Мне нужно заполнить QVector <stFrame> all_Frame
Контейнер запихнуть в контейнер.

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

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

qt 4.8.6, qt 5.12.4
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Июль 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);
}
Вместо вопросов подставите что нужно (этого я не знаю)
« Последнее редактирование: Июль 12, 2016, 18:24 от Igors » Записан
Dimas
Чайник
*
Offline Offline

Сообщений: 50



Просмотр профиля
« Ответ #4 : Июль 12, 2016, 18:33 »

Спасибо большое. Вопрос решен.

« Последнее редактирование: Июль 12, 2016, 18:42 от Dimas » Записан

qt 4.8.6, qt 5.12.4
Bepec
Гость
« Ответ #5 : Июль 12, 2016, 20:38 »

А в чем корень проблемы, врядли понятно ТСсу. Ну да и бог с ним Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 23.