Bir sınıf içinde üye işlevini, üye işlev sınıfı işaretçisi alan bir işleve geçirmeye çalışıyorum. Sorun şu ki, bu işaretçiyi kullanarak bunu sınıfta nasıl düzgün yapılacağından emin değilim. Önerisi olan var mı?Bir üye fonksiyon işaretçisini nasıl geçirirsiniz?
class testMenu : public MenuScreen{
public:
bool draw;
MenuButton<testMenu> x;
testMenu():MenuScreen("testMenu"){
x.SetButton(100,100,TEXT("buttonNormal.png"),TEXT("buttonHover.png"),TEXT("buttonPressed.png"),100,40,&this->test2);
draw = false;
}
void test2(){
draw = true;
}
};
fonksiyon x.SetButton (...) "nesne" bir şablon başka bir sınıfta, bulunan: Burada
üye işlevini geçiyor sınıfın bir kopyasıdır.void SetButton(int xPos, int yPos, LPCWSTR normalFilePath, LPCWSTR hoverFilePath, LPCWSTR pressedFilePath, int Width, int Height, void (object::*ButtonFunc)()) {
BUTTON::SetButton(xPos, yPos, normalFilePath, hoverFilePath, pressedFilePath, Width, Height);
this->ButtonFunc = &ButtonFunc;
}
Daha sonra kullanabilmem için bu işlevi nasıl düzgün şekilde gönderebileceğime dair herhangi bir tavsiyede bulunursa.
'Sınıfa bir işaretçi - 'Nesne bir işaretçi' olmalıdır? – Vorac
Çok teşekkürler. Sözdiziminin ((ButtonObj) -> * (ButtonFunc))() – nathanesau