static const Function* Get...();
为什么我不能从静态成员函数返回指向const的指针?或者我可以吗?
哪里
typedef void Function(Object * object, HandlerAction action);
我只是不想让调用者改变他得到的函数指针。
答案 0 :(得分:1)
您尝试在代码中返回的是指向常量非成员函数的指针(但这不是有效的构造,只有成员函数可以是常量)。
你想要做的是返回一个指向函数的常量指针,该指针将写成:
static Function * const Get...();
const
始终适用于其左侧的类型;除非它是第一件事(在你的情况下,因为static
不是类型,因此不能成为const
- 在这种情况下,它适用于直接权利的类型,即{{ 1}}在你的情况下,所以函数类型本身,而不是指针。