【问题标题】:How to return pointer to const from static function?如何从静态函数返回指向 const 的指针?
【发布时间】:2013-11-04 11:03:23
【问题描述】:
static const Function* Get...();

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

在哪里

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

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

【问题讨论】:

    标签: c++ static constants member-functions


    【解决方案1】:

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

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

    static Function * const Get...();
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 2021-06-25
      相关资源
      最近更新 更多