Giả sử bạn có 2 chức năng miễn phí:Làm thế nào để cast chức năng miễn phí quá tải để giải quyết xung đột quá tải?
void do_something(dog d);
void do_something(cat c);
Không nói bạn muốn vượt qua các chức năng này để một chức năng templated:
template <typename DoSomethingFunc>
void do_something_template(DoSomethingFunc func);
Điều gì sẽ là cách ưa thích để gọi do_something_template
theo cách mà tránh xung đột độ phân giải quá tải? Nó sẽ được đúc?
Do_something_template làm gì? Tôi nghi ngờ rằng nó cần một đối số động vật, và nó nên chọn và gọi hàm thích hợp trên con vật này? –