如何从静态函数返回指向const的指针?

时间:2013-11-04 11:03:24

标签: c++ static const member-functions

static const Function* Get...();

为什么我不能从静态成员函数返回指向const的指针?或者我可以吗?

哪里

typedef void Function(Object * object, HandlerAction action);

我只是不想让调用者改变他得到的函数指针。

1 个答案:

答案 0 :(得分:1)

您尝试在代码中返回的是指向常量非成员函数的指针(但这不是有效的构造,只有成员函数可以是常量)。

你想要做的是返回一个指向函数的常量指针,该指针将写成:

static Function * const Get...();

const始终适用于其左侧的类型;除非它是第一件事(在你的情况下,因为static不是类型,因此不能成为const - 在这种情况下,它适用于直接权利的类型,即{{ 1}}在你的情况下,所以函数类型本身,而不是指针。