Aktywne Wpisy

lipson +177
źródło: 20251219_114134
Pobierz
shiningsky +68
K---a. Kupiłem sobie tydzień temu pierwsze #perfumy w dorosłym, świadomym życiu i przepadałem. Właśnie jedzie do mnie 8 flakoników arabskich XD
Skopiuj link
Skopiuj link
źródło: 20251219_114134
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Chcę wygenerować wskaźnik do funkcji zwracającej double'a (przyjmuje też double) za pomocą lambdy.
To zadziała:
double (*lambda1)(double) = [](double a)->double {return a;};ale to już nie:
double b = 1;double (*lambda2)(double) = [=](double a)->double {return b*a;};Dlaczego, gdy używam zewnętrzną zmienną w lambdzie to już nie jest to wskaźnik na taką samą funkcję?
Komentarz usunięty przez autora
cannot convert ‘main()::__lambda1’ to ‘double (*)(double)’ in initialization.
Ogólnie chodzi mi o to, żeby zwrócić tę lambdę z funkcji. Jak ustawiam auto to i tak potem przy returnie wyskakuje błąd, że nie może skonwertować na taki wskaźnik.
swoją drogą to nie powinieneś robić czegoś takiego jak zwracanie lambdy z funkcji... to nie ma sensu, poczytaj o funktorach.