如何声明恒定的方法指针

时间:2019-04-19 15:03:18

标签: c++ constants function-pointers c++03 member-function-pointers

1 st 关闭这不是关于如何指向常量方法的问题。我想知道如何使我的方法指针恒定。

给出:

struct foo {
    void func1();
    void func2();
};

我可以用void (foo::*bar)() = &foo::func1构造方法指针,但是我以后可以做bar = &foo.func2,我想防止这种情况。

我可以使用const auto bar = &foo::func1轻松地做到这一点,但是不确定之前的方法。

1 个答案:

答案 0 :(得分:7)

您要做的就是在const之后添加*关键字,如下所示:

void(foo::*const _pointer)() = &foo::func1;