Czemu to nie działa?
#include <iostream> #include <functional> void f(int a = 0) {} int main() { std::invoke(f); }
Wewnątrz invoke twoja funkcja to tylko referencja do void (int), jej wywołanie wymaga jednego argumentu. Argumenty domyślne nie są częścią typu funkcji. Zatem bezpośrednio się nie da, ale można użyć lambdy
std::invoke([]{ f(); });
93,379 zapytań
142,380 odpowiedzi
322,533 komentarzy
62,734 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj