Tôi muốn khai báo định nghĩa kiểu cho chữ ký hàm thành viên. typedefs chức năng toàn cầu giống như thế này:Cú pháp chữ ký hàm thành viên C++ typedef
typedef int (function_signature)(int, int);
typedef int (*function_pointer) (int, int);
Nhưng tôi không thể để điều tương tự cho một hàm thành viên:
typedef int (foo::memberf_signature)(int, int); // memberf_pointer is not a member of foo
typedef int (foo::*memberf_pointer)(int, int);
Nghe có vẻ hợp lý với tôi, bởi vì "foo ::" ist sự cú pháp để truy cập một thành viên trong lớp foo. Tôi chỉ có thể gõ chữ ký như thế nào?
Chỉ cần ra khỏi tò mò, tại sao bạn đang cố gắng làm điều này? –
Tôi đang bối rối, là 'typedef' cuối cùng không phải những gì bạn muốn? – GManNickG
Điều đó có vẻ không đồng nhất với tôi. Có thể gõ một hàm được khai báo ở phạm vi toàn cục, nhưng không thể gõ một phương thức. Và có, tôi đang phân biệt giữa chữ ký và kiểu con trỏ hàm. – 0xbadf00d