Tôi đang cố gắng để làm cho một số callbacks từ hàm thành viên và tất cả mọi thứ là ok cho đến khi tôi cố gắng sử dụng một lớp mẫu có nguồn gốc từ 2 lớp như đối tượng gọi lại khi tôi nhận được lỗi sau:Pointers cho các thành viên cơ quan đại diện
error C2440: 'reinterpret_cast' : Pointers to members have different representations; cannot cast between them
Điều này báo hiệu cho tôi rằng các con trỏ hàm thành viên có các biểu diễn khác nhau (doh!)
Các biểu diễn này là gì? sự khác biệt giữa chúng là gì?
Bạn có thể muốn xem 'std :: bind', có thể liên kết một hàm thành viên và một đối tượng, và 'std :: function' có thể lưu trữ kết quả gọi lại. – MSalters
@MSalters Tôi chỉ đang thực hiện một số thử nghiệm để up-cast một số thứ (không an toàn, tôi biết - nhưng họ là thử nghiệm). – Felics
'std :: function' là con đường để đi. – Puppy