У меня очень странный вопрос.
У меня есть класс/функция:
class MCBSystem {
[...]
template <class Receiver>
void setCallBack(int i, Receiver* receiver, void(Receiver::*function)(void*)) {
iCallBacks.at(i) = new CallBack<Receiver>(receiver, function, this);
};
};
И я наследую его (умножаю) в другом классе:
class MenuBox : public OverlayBox, public HIDListener, public FANLib::MCBSystem {
[...]
};
Теперь, если я вызываю функцию setCallBack:
menuBox->setCallBack(MenuBox::CLICKED, this, &SubMain::widgetClicked);
тогда "menuBox" имеет значение 0x06cf22b8, но внутри "setCallBack", "this" равно 0x06cf2370.
Может кто-нибудь объяснить, что происходит на земле?
[EDIT:] Истинный вопрос: если мне нужно сохранить 'this' внутри 'setCallBack', как я могу проверить позже, что 'menuBox == this'?
Большое спасибо в advace!