Templated Functions .. FEHLER: template-id stimmt mit keiner Template-Deklaration überein

Ich habe geschrieben eine Funktionsvorlage undeine explizit spezialisierte Template-Funktion, das einfach 3 Argumente aufnimmt und das größte davon berechnet und ausgibt.

Die spezialisierte Funktion verursacht einen Fehler, während die Vorlage einwandfrei funktioniert. Aber ich möchte mit @ arbeit char * type.

Dies ist der Fehler, den ich bekomme =>error: template-id ‘Max<>’ for ‘void Max(char, char, char)’ does not match any template declaration

Folgend ist mein Code:

    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;
            }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage