我有一個多維向量矢量與大小初始化,無法清除
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 from Catalog_objects,它可能共享ofxImages向量的一些載體。
的問題是,「有時」向量進行初始化垃圾,並試圖用EXC_BAD_ACCESS
當與調整大小調整其大小()與
front_objects[numTag].resize(2);
以清除它程序崩潰的情況下,不應該它充滿了空載體?
感謝
馬克
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 &
切評論:這是真的時的typedef將是一個很好的事情一個典型的例子! – 2010-11-04 12:11:56
我是C++新手,我會檢查typedefs – Marc 2010-11-04 12:22:22
我剛學會如何使用typedefs。非常容易和有用! http://www.functionx.com/cpp/keywords/typedef.htm – Marc 2010-11-08 09:38:37