Quick Q: Why does overloading int, int&&, and const int& make calling it ambiguous? -- StackOverflow
Today on SO:
Overload resolution between object, rvalue reference, const reference
Given all three functions, this call is ambiguous. [Why?]
int f( int ); int f( int && ); int f( int const & ); int q = f( 3 );