C++ C++;从常量指针调用引用函数

C++ C++;从常量指针调用引用函数,c++,function,C++,Function,我有一个具有这个函数的类 class InputState { public: key_map const & GetKeyMap(); } 然后我有一个常量指针: InputState const * m_pInput; 如何从m_pInput调用该函数?如果函数确实没有修改对象本身,请将其标记为const: key_map const & GetKeyMap() const; 如果它确实修改了,不要从常量指针调用它(或者,如果绝对需要,使用const\

我有一个具有这个函数的类

class InputState
{
   public:
     key_map const & GetKeyMap();
}
然后我有一个常量指针:

InputState const * m_pInput;

如何从
m_pInput
调用该函数?

如果函数确实没有修改对象本身,请将其标记为
const

 key_map const & GetKeyMap() const;

如果它确实修改了,不要从常量指针调用它(或者,如果绝对需要,使用
const\u cast

如果函数确实没有修改对象本身,请将其标记为
const

 key_map const & GetKeyMap() const;

如果它确实修改了,不要从常量指针调用它(或者,如果绝对需要,使用
const\u cast

如果:您的成员函数没有改变添加到它的对象的状态
const
限定符:

key_map const & GetKeyMap() const;
其他:使用
const\u cast
,我不建议这样做,因为它会显式破坏指针的
const
enss,这可能是出于以下原因:

const_cast<InputState*>(m_pInput)->GetKeyMap();
const_cast(m_pInput)->GetKeyMap();

如果:您的成员函数没有改变添加到它的
常量限定符中的对象的状态:

key_map const & GetKeyMap() const;
其他:使用
const\u cast
,我不建议这样做,因为它会显式破坏指针的
const
enss,这可能是出于以下原因:

const_cast<InputState*>(m_pInput)->GetKeyMap();
const_cast(m_pInput)->GetKeyMap();

不太清楚您询问的是什么,您是否想知道如何实际调用成员函数?或者你是否对你所得到的任何其他错误感到疑惑?请告诉我们您尝试了什么,以及可能出现的错误。您询问的问题不太清楚,您是否想知道如何实际调用成员函数?或者你是否对你所得到的任何其他错误感到疑惑?请告诉我们您尝试了什么,以及可能出现的错误。这就是我要找的。这就是我要找的。