0

我有这样的课:

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

         bool init(); 
    private:

         void LeftCallback(CCObject* sender);     
}

在我的 init 方法中,我尝试使用以下方法创建一个 menu_selector:

menu_selector(LeftCallback);

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

menu_selector(A::LeftCallback);

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

提前致谢。

4

1 回答 1

2

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

我不确定为什么会这样决定,但它确实有助于避免函数和方法指针之间的歧义,即使是阅读你的代码的人也是如此。

于 2013-10-02T14:28:39.267 回答