Ошибка при выводе данных из Struct

206
23 февраля 2018, 18:34

При сьемке фотографий от камеры, записываю имя файла (получается путь) и id в вектор.

void MainWindow::imageSaved(int id, const QString &fileName)
{
    Q_UNUSED(id);
    ImageData* image = new ImageData();
    image->iD = id;
    image->FileName = fileName;
    ImageDataPush(*image);
    isCapturingImage = false;
    if (applicationExiting)
        close();
}
void MainWindow::ImageDataPush(ImageData image){
    imageData.push_back(image);
}

сам верктор

#ifndef IMAGEDATA_H
#define IMAGEDATA_H
#include <QString>
struct ImageData
{
    int iD;
    QString FileName;
};

#endif // IMAGEDATA_H

далее, пытаюсь вывести информацию с помощью qDebug() Информация показывается правильная, но сразу же после этого приложение вылетает.

void MainWindow::on_pB_Back_clicked()
{
    for(int i = 0; imageData.size(); i++){
        qDebug() << imageData[i].FileName;
    }
}
Answer 1

Вы пропустили в цикле в void MainWindow::on_pB_Back_clicked() условие:

for(int i = 0; imageData.size(); i++){

а предполагалось:

for(int i = 0; i < imageData.size(); i++){
READ ALSO
Qwt Analog Widget

Qwt Analog Widget

Я скачал qwtМне нужны там только виджеты

240
Как передать аргументы в Callback функцию C++

Как передать аргументы в Callback функцию C++

Здравствуйте! Весь день пытаюсь разобраться с передачей аргументов в callback функцию

191
Заполнение массива с++

Заполнение массива с++

Как заполнить двумерный массив числами от 1 к 15 в разброс и что бы они не повторялисьМой вариант очень долгий

261
вывод массива после сортировки

вывод массива после сортировки

Допустим, если в векторе числа лежат числа 10 5 2, то сортировка выдаст мне 2 5 10Как сделать так, чтобы он мне вывел 3 6 11 без изменения самих чисел...

196