在生成一个“CCMenuItemImage”时,代码如下:
CCMenuItemImage *pContinue = CCMenuItemImage::create("popmenu/menu0_0.png",
"popmenu/menu0_1.png",
this,
menu_selector(CGameMenu::ContinueGame));
一直看到一个警告:warning C4407: 在指向成员表示形式的不同指针之间进行转换,编译器可能生成不正确的代码。反复和没有警告的代码比较,没发现不同。最后再和正常的类的定义发现不同了,有问题的类的定义如下:
class CGameMenu : public CBeObserver, public CCNode
{
};
其他的正常的是:
class CGameMenu : public CCNode, .....
{
};
正常的都是把CCNode放到第一个继承的类。
把有问题的修改为:
class CGameMenu : public CCNode,public CBeObserver
{
};
警告消失。