diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 1c8ebde..9ab5e60 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -3142,9 +3142,9 @@ In that case, and only that case, make the parameter `TP&&` where `TP` is a temp Usually you forward the entire parameter (or parameter pack, using `...`) exactly once on every static control flow path: template - inline auto invoke(F f, Args&&... args) + inline decltype(auto) invoke(F&& f, Args&&... args) { - return f(forward(args)...); + return forward(f)(forward(args)...); } ##### Example