Có thể sử dụng con trỏ hàm chung làm tham số mẫu không? Mẫu con trỏ hàm có thể chấp nhận các hàm miễn phí, hàm thành viên và hàm lambda. Để đơn giản, giả sử các chức năng chỉ có một tham số, nhưCách sử dụng con trỏ hàm chung làm tham số mẫu?
template<class ArgumentT, class ReturnT, function* f>
struct A
{
// f is used somewhere.
};
Bạn có thể làm điều đó, nhưng bạn sẽ nhận được các loại không tương thích khác nhau cho các loại tức thời loại chức năng khác nhau. Tức là, bạn không thể gán một A với một con trỏ hàm tổng quát tới một hàm A có con trỏ đến hàm thành viên, ngay cả khi ArgumentT và ReturnT là giống nhau. – ComicSansMS