1
static const Function* Get...();

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

在哪里

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

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

4

1 回答 1

1

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

你想要做的是返回一个指向函数的常量指针,它可以这样写:

static Function * const Get...();

const总是适用于紧挨着它的左边的类型;除非它是第一件事(在你的情况下,因为static没有类型,因此无法制作const- 在这种情况下,它适用于直接右侧的类型,Function在你的情况下,所以函数类型本身,而不是指针。

于 2013-11-04T11:06:06.093 回答