哇,我真的完全不知道這裏到底發生了什麼。這真讓我難以置信。我有這種方法,我試圖去工作(東西似乎隨機在沒有變化的地方在這裏),我評論了部分,所以我可以讓它工作在最低限度。我的論點正在損壞?
Font* ResourceLoader::getFont(const std::string &name, int size) {
size = size;
//for(std::list<std::string>::iterator itr = mPaths.begin(); itr != mPaths.end(); itr++) {
//if(fileExists((*itr)+name)) {
std::string filename(name);
TTF_Font *font = TTF_OpenFont(filename.c_str(), size);
TTF_SetFontHinting(font, TTF_HINTING_MONO);
std::string err = std::string(TTF_GetError());
Font* result = new Font(font);
return result;
//}
//}
return NULL;
}
我的問題是「大小」參數通過該方法被損壞。這裏是什麼樣子
您是否嘗試過使用[valgrind](http://valgrind.org)或其他內存調試工具?機會很好,這個問題不在你選擇向我們展示的代碼中。 – 2012-04-12 19:25:54
你的方法開始處的size = size是什麼? – 2012-04-12 19:27:48
假設你在Linux上(通過這些截圖),嘗試使用Valgrind,Electric Fence,dmalloc等來幫助你找到摧毀你的記憶的代碼。 – 2012-04-12 19:28:50