这是我的代码:
typedef struct TItemSelector{
ItemSelectFrame* pItems[2];
} SItemSelector;
class item {
public:
void expMethod();
SItemSelector itemSelector_;
UILayerButton* startBtn_;
};
void item::expMethod(){
startBtn_ = new UILayerButton();
for (i = 0; i < 3; i++) {
itemSelector_.pItems[i] = new ItemSelectFrame();
}
startBtn_->callMethodA();
}
void UILayerButton::callMethodA()
{
this->callMethodB();
}
void UILayerButton::callMethodB()
{
}
上this->callMethodB();
,出现“EXC_BAD_ACCESS”。
之后,我找到了解决方法:
class item {
public:
void expMethod();
SItemSelector itemSelector_;
SItemSelector itemSelector2_; // work around
UILayerButton* startBtn_;
};
然后一切顺利......我只是不知道发生了什么,但callMethodB()
只是一个空方法,与它无关。
我使用的是 Apple LLVM 3.1,默认设置。
更新:修复了我的代码。