std::optional, это можно как-то сделать? https://godbolt.org/z/ndrcEx366
return is_enable ? std::optional{func(std::forward<decltype(args)>(args)...)} : std::nullopt;
все оказалось проще, спасибо)
а можно как-то засунуть проверку на void туда же, чтобы сделать return сразу. Кажется, что нужно использовать is_same<result_of<...>, void>::value но у меня не получается
проще всего, думаю, так: using R = decltype(func(std::forward<decltype(args)>(args)...))) if constexpr (std::is_same_v<R, void>) { // } else { // }
Обсуждают сегодня