如何声明一个常量的方法指针

问题描述 投票:4回答:1

第一关这不是一个关于如何指向常数方法的问题。我想知道如何使我的方法指针保持不变。

鉴于:

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

我可以用void (foo::*bar)() = &foo::func1构造一个方法指针,但我以后可以做bar = &foo.func2,我想阻止它。

我可以很容易地用const auto bar = &foo::func1这样做,但我不知道怎么做这个前

c++ constants function-pointers c++03 member-function-pointers
1个回答
7
投票

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

void(foo::*const _pointer)() = &foo::func1;
© www.soinside.com 2019 - 2024. All rights reserved.