好的,我认为标题已经足够描述了(尽管有些令人困惑,抱歉)。
我正在阅读这个库:Timer1。
在头文件中,有一个公共成员指针指向一个函数,如下所示:
class TimerOne
{
public:
void (*isrCallback)(); // C-style ptr to `void(void)` function
};
存在一个TimerOne类的实例化对象,名为“Timer1”。
Timer1调用函数如下:
Timer1.isrCallback();
这样正确吗?我熟悉通过使用解引用运算符来调用函数指针的方式。
(*myFunc)();
所以我本来期望通过对象进行的上述调用会更像:
(*Timer1.isrCallback)();
那么,通过函数指针调用函数的可接受选项是什么,无论是作为独立的函数指针还是作为对象成员?
另请参阅:
- [非常有用!] typedef函数指针?
答案摘要:
以下是调用函数指针的有效方法:
myFuncPtr();
(*myFuncPtr)();
(**myFuncPtr)();
(***myFuncPtr)();
// etc.
(**********************************f)(); // also valid