Mình có đoạn code như vầy:
C++ Code:
  1. class ClassA
  2. {
  3. public:
  4.     int (ClassA::*i)(int x); // con tro ham.
  5.  
  6.     int func1(int x, int (*pf)(int x))
  7.     {
  8.         i = pf; // báo loi dòng này.
  9.         return 0;
  10.     }
  11.  
  12. private:
  13.     int func2(int x)
  14.     {
  15.         return this -> *i(x);
  16.     }
  17.  
  18. };

Tức là mình muốn lưu địa chỉ của hàm truyền vào từ func1, để cho các method khác trong classA dùng sau này, thì nó báo việc gán i = pf là không hợp lệ (calling conversion)
Code:
error C2440: '=' : cannot convert from 'int (__cdecl *)(int)' to 'int (__thiscall ClassA::*)(int)' There is no context in which this conversion is possible
Mình phải sửa như thế nào đây? Các bạn giúp mình.
Mình thấy có nhiều tài liệu ít đề cập tới con trỏ hàm, hoặc có nhưng sơ sài.