Come lanciare argomenti di template

voti
0

Sto cercando di lanciare l'argomento di Tipo2 a tipo. Non è davvero lavorando.

modello di
tipo più grande (tipo x, Tipo2 static_cast (y));

modello di
tipo più grande (tipo x, Tipo2 static_cast (Tipo 2));

Non è nemmeno la compilazione.

07:23: errore: 'tipo2' non è stata dichiarata

08:21: errore: 'tipo2' non è stata dichiarata

08:27: Errore: previsto '' o '...' prima 'static_cast' In funzione 'int main ()':

13:17: Errore: nessuna funzione di corrispondenza per la chiamata al 'più grande (int, int)'

13:17: nota: candidato è:

8: 6: Nota: template> tipo più grande (tipo, int)

8: 6: Nota: template argomento deduzione / sostituzione non riuscita:

13:17: Nota: non poteva dedurre parametro di modello ''

15:20: Errore: nessuna funzione di corrispondenza per la chiamata al 'più grande (int, char)'

15:20: nota: candidato è:

8: 6: Nota: template> tipo più grande (tipo, int)

8: 6: Nota: template argomento deduzione / sostituzione non riuscita:

15:20: Nota: non poteva dedurre parametro di modello ''

17:21: Errore: nessuna funzione di corrispondenza per la chiamata al 'più grande (matrimoniale, camera)'

17:21: nota: candidato è:

8: 6: Nota: template> tipo più grande (tipo, int)

8: 6: Nota: template argomento deduzione / sostituzione non riuscita:

17:21: Nota: non poteva dedurre parametro di modello ''

23:40: Errore: nessuna funzione di corrispondenza per la chiamata al 'più grande (std :: string &, std :: string &)'

23:40: nota: candidato è:

8: 6: Nota: template> tipo più grande (tipo, int)

8: 6: Nota: template argomento deduzione / sostituzione non riuscita:

23:40: Nota: non è in grado di convertire 'str2' (tipo 'std :: string {alias std :: basic_string}') per digitare 'int'

È pubblicato 10/10/2019 alle 00:47
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Penso che si desidera farlo fusione statica all'interno della funzione. Per esempio:

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

Tuttavia, è possibile che ho frainteso la tua domanda. Spero che sia di aiuto.

Risposto il 10/10/2019 a 10:38
fonte dall'utente

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