#include <iostream>
#include <utility>
class A {
};
template<class... Params>
void foo(Params&&... params)
{
std::cout << "Foo(Params&... params)\n";
}
template<typename T, class... Params>
void foo(const T& t, Params&&... params)
{
std::cout << "foo(const T& t, Params&&... params)\n";
}
int main()
{
A a;
foo(a, "test");
return 0;
}