از اشارهگر میتوانید برای اشاره به یک تابع نیز استفاده نمایید. اشارهگر به تابع در واقع به محلی از حافظه اشاره میکند که کدهای اجرایی تابع در آن آدرس واقع شدهاند. طبیعی است با این نوع اشارهگرها نمیتوان اعمال ریاضی انجام داد. مثال زیر نحوه کار با این نوع اشارهگرها را نشان میدهد:
int addition(int a, int b)
{
return a + b;
}
int subtraction(int a, int b)
{
return a – b;
}
int operation(int x, int y, int (*f)(int, int))
{
return (*f)(x, y);
}
int main ()
{
int (*minus)(int,int) = subtraction;
cout << operation(20, 11, minus) << endl;
cout << operation(7, 5, addition) << endl;
return 0;
}
در این مثال minus اشارهگری به یک تابع با دو پارامتر ورودی و یک مقدار برگشتی در نظر گرفته شده است. همانطور که میبینید این اشارهگر بلافاصله به تابع subtraction نسبت داده شده است.