Доступ к элементу структуры в векторе - PullRequest
1 голос
/ 24 января 2012

У меня есть вектор элементов,

vector<ImageData> data ;

Здесь приведено определение ImageData

#ifndef IMAGEDATA_H
#define IMAGEDATA_H
#include <iostream>
#include <vector>
using namespace std;
struct ImageData {

                std::string cx;
                std::string cy;
                std::string cw;
                std::string ch;
                std::string ht;
                std::string wd;
                std::string ut;
                std::string rip;
                std::string imgFormat;
                std::string dIITest;
                vector<std::string> imageUrls;

                ImageData()
                {
                        cx="";
                        cy="";
                        cw="";
                        ch="";
                        ht="";
                        wd="";
                        ut="";
                        rip="foo";
                        imgFormat="";
                        dIITest="";
                        imageUrls.clear();
                }
};

для другого метода, когда я пытаюсь получить доступ к этим элементам структуры следующим образом, я получаю обратноошибка сегментации.

for(int i = 0 ; (int) data.size();i++)
{
    cout<<data[i].rip;
}

по сути, этот дамп кода.

Почему это происходит?

есть идеи?

1 Ответ

4 голосов
/ 24 января 2012

for цикл должен быть:

for (size_t i = 0; i < data.size(); i++)
                 //^^^
...