如何指向引用类的功能?

时间:2019-02-12 14:28:58

标签: c++ pointers

是否有一种方法可以在所引用的类中包含指向函数的指针?

我尝试用另一个指针替换对类的引用,但不起作用。
我也尝试过使用->代替.,但不走运。

class First {
  void FunToPointTo();
};
class Second {
  First &reference;
  void (*pointer)();
  Second(First &first);
};

Second::Second(First &first) : reference(first) {
  pointer = reference.FunToPointTo;
}

错误:无法将类型为“ void(First ::)()”的“ First :: FunToPointTo”转换为类型为“ void(*)()”的

现在,我试图以某种方式使指针指向void (First::)(),但我不知道确切的语法。

非常感谢您的帮助,也请原谅我缺乏知识,因为我刚开始使用c ++。

1 个答案:

答案 0 :(得分:1)

您的指针类型应为

void (First::*ptr)()

并分配

&First::FunToPointTo

由于您需要指定该函数来自类First。