这种语法意味着什么。 (:: *)

时间:2017-08-17 16:03:35

标签: c++ c++11

在重构一段代码的过程中,我遇到了以下几行:

class Bar
{
protected:
    int (Bar::* fooFunction)(float); //this line
}

我之前从未见过这种语法。这个语法是什么?为什么在C ++中使用它?

2 个答案:

答案 0 :(得分:2)

这是一个成员函数指针。

具体来说,它是指向Bar对象的成员函数的指针,该对象采用float参数并返回int

在此处阅读更多内容:http://en.cppreference.com/w/cpp/language/pointer#Pointers_to_member_functions

答案 1 :(得分:0)

  

这是什么语法

它声明了一个指向成员函数的指针。

  

为什么在C ++中使用它?

它用于指向非静态成员函数。