Załóżmy, że mam szablon funkcji gdzie parametr typ jest używany jako typ zwracany tylko:składnia wątpienia dla specjalizujący szablony funkcyjne
template <typename T>
T foo()
{
return whatever;
}
to co jest poprawna składnia specjalizować tego szablonu funkcji? Wygląda na to, że oba z nich działają:
template <>
std::string foo()
{
return whatever;
}
template <>
std::string foo<std::string>()
{
return whatever;
}
Czy jest jakaś różnica między tymi dwoma elementami? Jeśli nie, jaki jest idiomatyczny sposób?
W tym przykładzie nie można już wywnioskować argumentu szablonu w witrynach z telefonami. –