我有一个具有此功能的课程
class InputState
{
public:
key_map const & GetKeyMap();
}
然后我有一个const指针:
InputState const * m_pInput;
如何从m_pInput
调用该功能?
答案 0 :(得分:5)
如果您的函数确实没有修改对象本身,请将其标记为const
:
key_map const & GetKeyMap() const;
如果它确实修改了,不要从const指针调用它(或者,如果绝对需要,请使用const_cast
。)
答案 1 :(得分:1)
如果:您的成员函数不会改变您添加到其中的对象的状态const
限定符:
key_map const & GetKeyMap() const;
其他:使用const_cast
,我不建议这样做,因为它会明确地破坏指针的const
enss,这可能是第一个原因造成的位:
const_cast<InputState*>(m_pInput)->GetKeyMap();