CCArrayでAssertに引っかかっちまうんだけど。
CCArrayで以下のcreate関数を呼び出すとなぜかAssertが走ってしまう。
CCArray *stapleFood = CCArray::create(new CCString("米"), new CCString("麦"));
う~ん。なぜだ!!
以下の場所で止まっている。
void CCObject::retain(void)
{
CCAssert(m_uReference > 0, "reference count should greater than 0");
++m_uReference;
}
cocos2d-xのバグか?
いや、そんなはずはない。99.999999%は、最底辺の俺が悪いはず。
と、色々調べてみたところ、どうもこの引数の指定の仕方の場合、最後にNULLがいるんじゃないかと推論に達した。
ということで以下のように指定して無事解決!
CCArray *stapleFood = CCArray::create(new CCString("米"), new CCString("麦"), NULL);
しかし、cocos2d-xは、foolproofが甘い気がしますね。
ああ、ちなみにnew CCStringの生成は、メモリリークしていますので悪しからず。
本来は、CCString::create(“米”)とか使わないとだめかな?
ディスカッション
コメント一覧
まだ、コメントがありません