Wpis z mikrobloga

#cpp #programowanie
Taka zmienna:

class VotingForm {
private:
void (VotingForm::*on_wake)() = Q_NULLPTR;
}

Tak ją wołam:

if (on_wake != Q_NULLPTR) {
on_wake();
}

Kompilator krzyczy to:

C:\Users\dijun\Local\GitHub\RootForPremier\PremierMeetingControl\votingform.cpp:152: error: must use '.*' or '->*' to call pointer-to-member function in '((VotingForm*)this)->VotingForm::on_wake (...)', e.g. '(... ->* ((VotingForm*)this)->VotingForm::on_wake) (...)'
on_wake();
^

Nie za bardzo rozumiem jak mam odpalić tę funkcję, kilku opcji już próbowałem.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dijuna: Generalnie nie korzystam z wskaźników do metod bo zazwyczaj są duże, (co najmniej 2*sizeof(void*)), póki nie są constexpr to bym ich omijał. Nie wiem ile zajmują zwykłe lambdy ale też są bezstanowe lambdy które można rzutować na wskaźniki do funkcji.
Ciekawi mnie też poco ci to skoro piszesz w Qt ( ͡° ͜ʖ ͡°)
  • Odpowiedz