در زبان برنامه نویسی ++C این امکان نیز وجود دارد که بتوانید به یک تابع اشاره کنید به این صورت که وقتی تابع کامپایل شده و در حافظه برای اجرا قرار می گیرد قسمتی از حافظه را اشغال می کند بنابراین دارای آدرس است که می توان آن را به اشاره گری اختصاص داد. اشاره گر به تابع راهی برای فراخوانی تابع به صورت غیرمستقیم است علاوه بر این برای ارسال تابع به عنوان پارامتر به تابع دیگر هم بکار می آید.
اعلان و استفاده اشاره گر به تابع درنظر اول کمی متفاوت است ولی از همان قاعده تبعیت می کند. برای اعلان اشاره گر به تابع نام تابع درون پرانتز قرار می گیرد و قبل از آن علامت * قرار می گیرد. مشابه زیر:
;datatype (*pointerToFunction) (pElement) = NULL
*pointerToFunxtion اشاره گر به تابع است که درون پرانتز باید باشد. سمت چپ آن نوع برگشتی و سمت راست آن پارامترهای تابع قرار می گیرند. سپس با NULL مقداردهی می شود.
مثال. funcPtr اشاره گر به تابعی است که هیچ آرگومان و مقدار برگشتی ندارد.
;void (*funcPtr)() = NULL
مشابه آرایه ها، برای بدست آوردن آدرس تابع نیازی به عملگر آدرس & نیست. فراخوانی تابع توسط اشاره گر مشابه فراخوانی عادی تابع است.
مثال. متغیر p اشاره گری به تابع square است. تابع به دو طریق فراخوانی شده است که خروجی هر دو فراخوانی یکسان است.