מצביעים לפונקציות בc++

the origin

New member
מצביעים לפונקציות בc++

אני לא בטוח ב100% שיש כזה דבר. אם יש איך עושים כזה? ואיך גורמים לו להצביע לפונקציה מסוימת? (אני לא מדבר על virtual אני רוצה לעשות משהו מחוץ למחלקה)
 

selalerer

New member
פשוט מאוד:

מצביע לפונקציה מכריזים בצורה כזאת: 1 טיפוס הערך המוחזר של הפונקציה. 2 בתוך סוגריים, כוכבית ואז שם המצביע. 3 בתוכך סוגריים הטיפוסים של הפרמטרים של הפונקציה. כלומר אם זאת הפונקציה שאני רוצה להצביע אליה:
int func1(int data,float d1) { //.......... //........... }​
אז כך תגדיר את המצביע:
int (*ptr1)(int,float);​
וכך תגרום לו להביע אל הפונקציה הספציפית שלנו:
ptr1=func1;​
וכך תוכל להריץ את הפונקציה בעזרת המצביע:
(*ptr1)(2,7.456);​
מערך של מצביעים אל פונקציות כאלה, תוכל לעשות כך:
int (*arr1[10])(int,float); arr1[0]=func1; arr[0](2,7.345);​
 
למעלה