Cú pháp của một con trỏ hàm có nhiều điểm khác biệt so với cách khai báo con trỏ thông thường.
<return_type> (*<name_of_pointer>)( <data_type_of_parameters> );
Mình lấy ví dụ, để trỏ đến hàm foo trong ví dụ trên, chúng ta cần khai báo con trỏ hàm như sau:
int (*pFoo) ();
Và
void swapValue(int &value1, int &value2)
{
int temp = value1;
value1 = value2;
value2 = temp;
}
int main()
{
void(*pSwap) (int &, int &) = swapValue;
int a = 1, b = 5;
cout << "Before: " << a << " " << b << endl;
(*pSwap)(a, b);
cout << "After: " << a << " " << b << endl;
return 0;
}