Tôi không muốn con trỏ hàm trên cao, tôi chỉ muốn cùng mã cho hai chức năng khác nhau với cùng một chữ ký:Có thể có hàm (-name) làm tham số mẫu trong C++ không?
void f(int x);
void g(int x);
...
template<typename F>
void do_work()
{
int v = calculate();
F(v);
}
...
do_work<f>();
do_work<g>();
Đây có phải là có thể?
Để làm sáng tỏ có thể nhầm lẫn: Với "mẫu số" Ý tôi là tham số/tranh luận với mẫu và không một tham số chức năng có loại là templated.
+1: giải pháp rất đẹp. Không áp dụng được trong vấn đề trả lời câu hỏi của tôi, nhưng rất hay như một giải pháp chung! –