Tôi biết nó có thể tách rời để tạo ra một con trỏ tới hàm thành viên như thế nàycon trỏ tới hàm thành viên const typedef
struct K { void func() {} };
typedef void FuncType();
typedef FuncType K::* MemFuncType;
MemFuncType pF = &K::func;
Có cách tương tự để xây dựng một con trỏ tới một hàm const? Tôi đã thử thêm const ở những nơi khác nhau mà không thành công. Tôi đã chơi xung quanh với gcc số và nếu bạn làm mẫu trích trên một cái gì đó giống như
template <typename Sig, typename Klass>
void deduce(Sig Klass::*);
Nó sẽ hiển thị Sig với như một chữ ký chức năng với const chỉ tacked ở cuối dòng. Nếu để làm điều này trong mã nó sẽ khiếu nại rằng bạn không thể có vòng loại trên một loại chức năng. Có vẻ như nó sẽ có thể bằng cách nào đó bởi vì việc khấu trừ hoạt động.
Có bạn là đúng nó hoạt động! Tôi nghĩ rằng tôi đã thử thứ hai này, nhưng đoán không, đó là một máy tính mặc dù có thể trình biên dịch cũ. Sẽ phải kiểm tra lại vào ngày mai. – oldcig