这是我遇到问题的一些代码:
int pressedKey = event.getNativeKeyCode();
for (int i=0; i <= AllTriggerPads.size() ;i++) {
if (AllTriggerPads[i]->get_key() == pressedKey){
AllTriggerPads[i]->mBufferPlayerNode->start();
}
}
出现get_key()
错误EXC_BAD_ACCESS (Code=1, ...)
。
我似乎有一个参考问题。我在 mouseDown 和 fileDrop 函数中使用了几乎相同的代码:
for (int i=0; i < AllTriggerPads.size() ; i++) {
if (AllTriggerPads[i]->mRect.contains(event.getPos())) {
AllTriggerPads[i]->mBufferPlayerNode->start();
}
}
这很好用!
Sooooo,我想我没有正确使用 AllTriggerPads 向量(obj 指针)。所以我可以使用AllTriggerPads[i]->mRect.contains(event.getPos())
但我不能使用AllTriggerPads[i]->get_key()
. AllTriggerPads[i]->key
我已经尝试过,但我无法访问该值本身,AllTriggerPads.at(i)
但后来我得到一个超出范围的错误,这让我更加想知道。
AlltriggerPads 被初始化为
vector<TriggerPad*> AllTriggerPads;
那么如何访问关键成员?