Quando si chiama una funzione modello, è corretto omettere il tipo dopo il nome della funzione?Omettere gli argomenti nei modelli C++
A titolo di esempio, si consideri la funzione
modello
<typename T
> void f (T var) {...};
è ok per chiamare semplicemente in questo modo:
int x = 5;
f (x);
oppure io avere per includere il tipo?
int x = 5;
f<int
> (x);
Non poteva solo provare e vedere cosa succede? Sembra abbastanza facile da testare. –
@ Ed Swangren, il metodo "basta provarlo" è molto poco informativo. Nel migliore dei casi ti dice che un particolare compilatore consente la sintassi data. Non ti dice nulla sulla semantica o sulla correttezza della dichiarazione rispetto allo standard della lingua. – Trent
Suppongo che avrei potuto chiarire la domanda. Come Trent ha gentilmente sottolineato, non è tanto se questo verrà compilato. Sono curioso di sapere cosa succede dietro le quinte e fatica a trovare buone informazioni là fuori! – Chris