меня это заявление многомерного векторавектор инициализации с размером, невозможно очистить
std::vector< vector < vector <ofxImage> > > front_objects;
Затем я отправить его в мой класс при его создании:
Catalog_object * temp = new Catalog_object(&front_objects, numTag);
А потом выполнить следующие :
Catalog_object::Catalog_object(vector< vector < vector <ofxImage> > > * _front_objects, int numTag) {
front_objects=_front_objects;
if (front_objects->size()<numTag+1) {
front_objects->resize(numTag+1);
}
}
То, что я хочу сделать, это заполнить основную front_object s с векторами ofxImages из Catalog_objects, которые могут делиться некоторыми векторами векторов ofImages.
Проблема заключается в том, что «иногда» вектор инициализации с мусором и при попытке очистить его с
front_objects[numTag].resize(2);
сбои программы с EXC_BAD_ACCESS
При изменении размера его с изменением размера(), не должны он заполняется пустыми векторами?
Благодаря
Марк
UPDATE
Я пытался делать, как это, но я получаю "неинициализированным ссылки УЧАСТНИКА Catalog_object :: front_objects '".
Catalog_object::Catalog_object(vector< vector < vector <ofxImage> > > & _front_objects, int numTag) { // CHANGED * FOR &
std::vector< vector < vector <ofxImage> > > & front_objects; // CHANGED * FOR &
front_objects=_front_objects;
if (front_objects.size()<numTag+1) {
front_objects.resize(numTag+1);
}
front_objects[numTag].resize(2);
}
std::vector< vector < vector <ofxImage> > > front_objects;
Catalog_object * temp = new Catalog_object(front_objects, numTag); // REMOVED &
Тангенциальное комментарий:. Это действительно канонический пример, когда определения типов будет хорошо! –
Я новичок C++, я проверю typedefs – Marc
Я только что узнал, как использовать typedefs. Очень легко и полезно! http://www.functionx.com/cpp/keywords/typedef.htm – Marc