#include <string>

template<typename T>
void test(T x);

template<>
void test<const std::string &>(const std::string & test)
{
}

template<>
void test<const char *>(const char * test)
{
}

int main()
{
   test(std::string("test"));
}