Consider the code
template <typename... Args> void foo (Args&& ...) { } template <typename... Args> void bar (Args&& ... args) { foo (std::forward (args)...); } int main () { bar (true); } ~
gcc 4.7.2 gives an error
error: no matching function for call to 'forward(bool&)' note: candidates are: template<class _Tp> constexpr _Tp&& std::forward(typename std::remove_reference<_Tp>::type&) note: template argument deduction/substitution failed: note: template<class _Tp> constexpr _Tp&& std::forward(typename std::remove_reference<_Tp>::type&&) note: template argument deduction/substitution failed:
Why is the letter not output as rvalue?
user1773602
source share