napisałem szablon funkcja i jawnie wyspecjalizowanym matrycy funkcja który po prostu pobiera 3 argumenty i oblicza największym wśród nich i drukuje ją.matrycy Funkcje .. ERROR: template-id nie znaleziono żadnych deklaracji szablonu
Specjalna funkcja powoduje błąd, a szablon działa poprawnie. Ale chcę pracować z char * typ.
Jest to błąd otrzymuję => error: template-id ‘Max<>’ for ‘void Max(char, char, char)’ does not match any template declaration
Poniżej znajduje mój kod:
template <typename T>
void Max(T& a,T& b,T& c)
{
if(a > b && a >> c)
{
cout << "Max: " << a << endl;
}
else if(b > c && b > a)
{
cout << "Max: " << b << endl;
}
else
{
cout << "Max: " << c << endl;
}
}
template <>
void Max(char* a,char* b,char* c)
{
if(strcmp(a,b) > 0)
{
cout << "Max: " << a << endl;
}
else if(strcmp(b,c) > 0)
{
cout << "Max: " << b << endl;
}
else
{
cout << "Max: " << b << endl;
}
}
Najpierw upewnij oryginalny podpis właściwego. template void Max (T & a, T & b, T & c) –
W moim przypadku jest to spowodowane przez dodanie const do returnt typu specilizatoin, co powoduje niezgodność z podstawową funkcją szablonu. – FaceBro