如何使函数指针不变

时间:2013-07-28 12:51:10

标签: 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的函数。

1 个答案:

答案 0 :(得分:1)

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