Как объявить указатель метода постоянным - PullRequest
4 голосов
/ 19 апреля 2019

1 st это не вопрос о том, как указать постоянный метод.Я хочу знать, как сделать мой указатель метода постоянным.

Учитывая:

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

Я могу создать указатель метода с помощью void (foo::*bar)() = &foo::func1 , но я могу позже сделатьbar = &foo.func2 и я хочу предотвратить это.

Я легко могу сделать это с помощью const auto bar = &foo::func1, но я не уверен, как это сделать до .

1 Ответ

7 голосов
/ 19 апреля 2019

Все, что вам нужно сделать, это добавить ключевое слово const после *, например:

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