Hogyan leadott sablon érvek

szavazat
0

Próbálom, hogy a leadott érve Type2 típusnak. Ez tényleg nem működik.

sablon
típus nagyobb (X típusú, Type2 static_cast (y));

sablon
típus nagyobb (X típusú, Type2 static_cast (Type2));

Ez még csak nem is a fordítás.

07:23: error: „Type2” nem nyilvánították

08:21: error: „Type2” nem nyilvánították

08:27: error: a várható '' vagy '...' előtt 'static_cast' A funkció 'int main ()':

13:17: error: nem találtunk megfelelő funkció hívás 'nagyobb (int, int)'

13:17: megjegyzés: jelölt:

8: 6: megjegyzés: template> Írja nagyobb (Type, int)

8: 6: megjegyzés: template érv levonás / helyettesítés nem sikerült:

13:17: megjegyzés: nem tudott levezetni sablonparaméterrel '

15:20: error: nem találtunk megfelelő funkció hívás 'nagyobb (int, char)'

15:20: megjegyzés: jelölt:

8: 6: megjegyzés: template> Írja nagyobb (Type, int)

8: 6: megjegyzés: template érv levonás / helyettesítés nem sikerült:

15:20: megjegyzés: nem tudott levezetni sablonparaméterrel '

17:21: error: nem találtunk megfelelő funkció hívás „nagyobb (dupla, dupla)”

17:21: megjegyzés: jelölt:

8: 6: megjegyzés: template> Írja nagyobb (Type, int)

8: 6: megjegyzés: template érv levonás / helyettesítés nem sikerült:

17:21: megjegyzés: nem tudott levezetni sablonparaméterrel '

23:40: error: nem találtunk megfelelő funkció hívás 'nagyobb (std :: string, std :: string)'

23:40: megjegyzés: jelölt:

8: 6: megjegyzés: template> Írja nagyobb (Type, int)

8: 6: megjegyzés: template érv levonás / helyettesítés nem sikerült:

23:40: megjegyzés: nem tudja konvertálni 'str2' (típus 'std :: string {aka std :: basic_string}'), hogy írja be a 'int'

A kérdést 10/10/2019 00:47
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

Azt hiszem, azt szeretnénk csinálni, hogy statikus öntés a függvény belsejében. Például:

    template <class Type, Type2>  
    Type larger(Type x, Type2 y) {
        Type ycasted = static_cast<Type>(y);
        //compare x and ycasted
    }

Azonban előfordulhat, hogy félreértettem a kérdést. Remélem ez segít.

Válaszolt 10/10/2019 10:38
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more