c++ - 如何使函数指针常量

标签 c++ function-pointers

一个典型的 getter/setter 看起来像这样:

void setName(const std::string& _name) { name = _name; }
std::string getName() const { return name; }

如果成员是这样的函数指针,我该如何做:

void setBotFunc(int(*botFunc)()) { botFunction = botFunc; }
int (*getBotFunc() const)() { return botFunction; }

特别是我不知道如何以“我只会读取而不修改指针(值)”的方式声明 setter。这甚至有意义吗? const int (*botFunct)() 显然被视为返回 const int 的函数。

最佳答案

void setBotFunc( int(* const botFunc)() )
{
    botFunction = botFunc;
}

关于c++ - 如何使函数指针常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908388/

相关文章:

使用具有结构成员的泛型类时出现 C++ 编译器错误

c++ - 在默认子句后指定中断的一般做法?

C++:在基类中使用带有泛型虚函数的异步回调

c - 传递函数指针的参数

string - 如何从 MATLAB 中的字符串输入创建函数指针?

function-pointers - Ada 访问无参数过程 "wrong convention"

android - 在 Android 上使用 JNI 使用上下文指针调用函数会导致段错误

c++ - 如何为用户定义类型实现初始化列表? (类似于 std::vector 初始化列表)

python - Python函数指针的类型

c++ - 为什么执行了错误的功能?