文章撰寫日期︰2013/03/18 10:46 cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
一、問題
在Cocos2d-X裡希望將某個特定物件存放於static member裡,以供日後實體成員使用,
但卻發生該static member EXC_BAD_ACCESS的問題。
二、解決方法
使用static member有幾個需要注意的新手事項︰1.標頭檔(.h)裡要宣告靜態成員變數
static std::string question; //宣告要使用一個string型別的question靜態成員變數
2.Body(.cpp)裡要初始化該成員變數
string GameScene::question; /*如果沒有初始化, 會遇到 Undefined symbols for architecture armv7 的錯誤。*/
3.注意static member靜態成員變數的使用時機
有時候會發生在將某物件指針給static member,卻造成static member為EXC_BAD_ACCESS的程式錯誤,
主要是欲被指派的指針物件可能都尚未初始化完成,
就將指針給了static member並做static member的存取,
如果注意程式建構的順序和時間,
掌握程式的呼吸方式,
基本上是不會有static member成為EXC_BAD_ACCESS的狀況的。
沒有留言 :
張貼留言