CCArray“访问违规阅读位置”

时间:2012-07-12 13:37:05

标签: cocos2d-x

我正在使用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;
}

请帮助。

2 个答案:

答案 0 :(得分:4)

尝试致电

    array->retain() 

创建后。离开函数后,数组可能是自动调用的。

但不要忘记在完成后释放它。

答案 1 :(得分:0)

你也可以这样做:

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

create()返回autorelease CCObject。