これが私のコードです:
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()
、空のメソッドであり、それとは何の関係もありません。
デフォルト設定のAppleLLVM3.1を使用しています。
更新:私のコードを修正しました。