为什么使用menu_selector时“Class :: method”而不仅仅是“method”?

时间:2013-10-02 14:08:34

标签: c++ cocos2d-x

我有一个这样的课程:

class A
{
    public:
         A();
         ~A();

         bool init(); 
    private:

         void LeftCallback(CCObject* sender);     
}

在我的init方法中,我尝试使用:

创建一个menu_selector
menu_selector(LeftCallback);

问题是这不起作用。我必须提供类范围,使其以这种方式工作:

menu_selector(A::LeftCallback);

为什么我不得不在这种情况下添加类范围而不是仅使用方法名?

提前致谢。

1 个答案:

答案 0 :(得分:2)

基本上,因为语言要求你。

我不确定为什么会这样做,但它确实有助于避免函数和方法指针之间的模糊,甚至是人类阅读代码时的歧义。