Aktywne Wpisy

Common_Rail_1337 +522
#wykop #jedzenie #takaprawda
Nie kupujemy sodastream, kupujemy Dafi. Nie wspieramy rzydostwa, wybieramy nasze Polskie.
Nie kupujemy sodastream, kupujemy Dafi. Nie wspieramy rzydostwa, wybieramy nasze Polskie.
źródło: 688486432_1549845620480232_6566094192302546079_n
Pobierz
ATAT-2 +282
Oglądając takie filmy często zachodzę w głowę, jak duże problemy psychiczne / problemy ze sobą / problemy z agresją mają niektórzy na drogach.
Dorosły chłop, dorobił się porsche w leasingu, zapewne ma pracę, rodzinę, męża, dom, obowiązki.
A jednak, wystarczy że ktoś za długo będzie wyprzedzał ciężarówkę lewym pasem i poświęci 10 minut swojego życia na hamowanie przed maską, zajeżdżanie drogi i kilkukrotne próby zablokowania przejazdu na publicznej trasie.
A jak już
Dorosły chłop, dorobił się porsche w leasingu, zapewne ma pracę, rodzinę, męża, dom, obowiązki.
A jednak, wystarczy że ktoś za długo będzie wyprzedzał ciężarówkę lewym pasem i poświęci 10 minut swojego życia na hamowanie przed maską, zajeżdżanie drogi i kilkukrotne próby zablokowania przejazdu na publicznej trasie.
A jak już
źródło: image
Pobierz



Mam klasę timer i tam w przerwaniu jest wywoływany callback. Coś takiego:
ISR(vector){wskaźnik();
};
Podstawiam do wskaźnik adres funkcji i jest ok. Ale potrzebuje wstawić tam adres jednej z metod jednej z klas. Metoda zwraca void i przyjmuje void ale kompilator rzuca błędem:
Error cannot convert 'void (lcd_KS0108::*)()' to 'TPcallback {aka void (*)()}' in assignment
Error ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say '&lcd_KS0108::LightOFF' [-fpermissive]
Jak to powinienem rozwiązać?
string::sizebez obiektu?std::functioni przypisać korzystając albo z lambdy albostd:bindłapiącej obiekt.Jeżeli nie możesz zmienić tego wskaźnika, to musisz mieć statyczny obiekt lcdKS0108 i wtedy możesz przypisać tam labmdę
wskaźnik = [](){ lcdKS0108.LightOFF(); };która to konwertuje się na
void(*)().Jak nie masz C++11 to niestety nie masz szczęścia i musisz zrobić statyczny adapter na tą twoją klasę, bo jeżeli metoda jest
@KrzaQ2: Ale to jest tak, że mam klasę lcdKS0108 i obiekt tej klasy LcdKS1018. Jak podam LcdKS1018.Metoda to chyba wiadomo o którą metodę i którego obiektu się upominam? Skoro kompilator wnioskuje typy to czemu nie wnioskuje adresów?
std::bind, ale binda nie szanuj, lambdy zawsze lepszeAwwww, zamień to na odwrót! NATYCHMIAST!
( ͡°
Bo to jakaś herezja jest, powinny być z małej, chyba że są statyczne, no to jeszcze rozumiem.
Nie bardzo wiem oco ci chodzi. A co niby taka klasa miała by robić? Jeżeli myślisz o statycznym adapterze to niestety nie da się tego automatycznie zrobić. Nawet dla jednej metody nie da się