Diciamo che avete 2 funzioni liberi:Come eseguire il cast di una funzione libera sovraccaricata per risolvere il conflitto di sovraccarico?
void do_something(dog d);
void do_something(cat c);
No dire che si desidera passare queste funzioni a una funzione template:
template <typename DoSomethingFunc>
void do_something_template(DoSomethingFunc func);
Quale sarebbe il modo migliore per chiamare do_something_template
in modo da evitare conflitti di risoluzione di sovraccarico? Sarebbe un casting?
Cosa fa_qualcosa di diverso? Sospetto che abbia bisogno di una discussione su animali, e dovrebbe selezionare e chiamare la funzione appropriata su questo animale? –