1

私は cocos2d-2.0-rc2-x-2.0.1 @ 2012 年 6 月 29 日を使用して、これを書きました

.h

...
protected:
CCArray *array;
...

.cpp

...
bool HelloWorld::init()
{
...
array= CCArray::create(2);
array->addObject(obj1);
array->addObject(obj2);
...
}

void HelloWorld::ccTouchesBegan(CCSet* touches, CCEvent* event)
{
    CCLog("%i", array->count());
}
...

これを取得しました:0xC0000005:アクセス違反の読み取り場所「0xfeeefeee」。

CCArray.cpp

unsigned int CCArray::count()
{
    return data->num;
}

助けてください。

4

2 に答える 2

4

電話してみる

    array->retain() 

作成後。関数を終了した後、配列が自動解放される可能性があります。

ただし、終了したらリリースすることを忘れないでください。

于 2012-07-13T03:55:42.137 に答える
0

これを行うこともできます:

array = new CCArray();
array->initWithCapacity(3);

create()autoreleaseCCObject を返します。

于 2013-02-11T05:05:16.607 に答える