0
我首先將3值存儲到一對地圖的這樣的問題:一個關於使用常量字符*傳遞參數
void AddMenuAtlasTexture(int tag, const char* filename, const char* textureName)
{
map<const char*, const char*> _item;
_item.insert(pair<const char*, const char*>(filename, textureName));
m_texturesToLoad.insert(pair<int, map<const char*, const char*> >(tag, _item));
};
然後I的值傳遞給另一個功能是這樣的:
map<const char*, const char*>::iterator _content;
int _tag = (*m_texturesToLoadIterator).first;
_content = (*m_texturesToLoadIterator).second.begin();
AtlasManagerSingleton->AddAtlas((*_content).first, (*_content).second, _tag);
「textureName」是這樣一種絕對路徑:「/ Users/eddy/Library/Application Support/iPhone Simulator/User/Applications/5FDE0091-2E93-42FE-BB62-05A16429551D/Ranch.app /../ Documents /shop_tex.png「
my問題是第一個函數可以獲得「textureName」的權利,但第二個函數「AddAtlas」無法獲得路徑,「(* _content).second」爲NULL。
和 「AddAtlas」 的原型是:
void AtlasManager :: AddAtlas(const char *a_configFile, const char *a_spriteName, int a_nKey)
我使用了XCode開發這個在iPhone開發。
顯示所有你用它來調用'AddMenuAtlasTexture'的代碼。 – 2010-09-26 06:05:30
只是提示:您可以使用 - >運算符而不是(* pointer).stuff。你可以做指針 - >東西。 – JoshD 2010-09-26 06:08:52
嘗試使用m_texturesToLoadIterator->秒代替(* m_texturesToLoadIterator).second我認爲這可能是一個運算符重載問題 – 2010-09-26 06:08:52