指向成员的指针具有不同的表示形式;无法在它们之间强制转换cocos2d-x

指向成员的指针具有不同的表示形式;无法在它们之间强制转换cocos2d-x,cocos2d-x,Cocos2d X,x和新的编程,我正在做一个反向,但在某种程度上它给我一个错误。 有人能帮我吗 CCSprite* bg = CCSprite::create("Images/Reversi.png"); addChild(bg, 1); bg->setAnchorPoint(CCPointZero); _midArea = CCLayerColor::create(ccc4(255, 0, 0, 0), 600, 600); addChild(_midArea, 2); _midArea->set

x和新的编程,我正在做一个反向,但在某种程度上它给我一个错误。 有人能帮我吗

CCSprite* bg = CCSprite::create("Images/Reversi.png");
addChild(bg, 1);
bg->setAnchorPoint(CCPointZero);

_midArea = CCLayerColor::create(ccc4(255, 0, 0, 0), 600, 600);
addChild(_midArea, 2);
_midArea->setAnchorPoint(CCPointZero);
_midArea->setPosition(ccp(88, 271));

CCMenu* menu = CCMenu::create();
_midArea->addChild(menu, 10);
menu->setAnchorPoint(ccp(0, 0));
menu->setPosition(ccp(0, 0));

_gameOver = CCMenuItem::create();
_gameOver->setTarget(this, menu_selector(GameLayer::startNewGame));
menu->addChild(_gameOver);
_gameOver->setAnchorPoint(ccp(0.5, 0.5));
_gameOver->setPosition(ccp(300, 300));
_gameOver->setContentSize(getContentSize());
CCSprite* overImg = CCSprite::create("Images/GameOver.png");
_gameOver->addChild(overImg);
CCSize layerSize = getContentSize();
overImg->setPosition(ccp(layerSize.width / 2, layerSize.height / 2));
_gameOver->setVisible(false);
_gameOver->setEnabled(false);

float gridSize = 75;

CCTextureCache* textureCache = CCTextureCache::sharedTextureCache();

_whiteTex = textureCache->addImage("Images/ReversiWhitePiece.png");
_blackTex = textureCache->addImage("Images/ReversiBlackPiece.png");
_whiteTex->retain();
_blackTex->retain();

for (int i = 0; i < NUM_ROW; i++) {
    for (int j = 0; j < NUM_COL; j++) {
        CCMenuItem* item = CCMenuItem::create();
        item->setContentSize(CCSizeMake(gridSize, gridSize));
        menu->addChild(item);
        item->setTarget(this, menu_selector(GameLayer::onClickGrid));
        item->setTag(i * NUM_COL + j);
        item->setAnchorPoint(ccp(0, 0));
        item->setPosition(ccp(j * gridSize, i * gridSize));

        _gridSprites[i][j] = CCSprite::createWithTexture(_whiteTex);
        _midArea->addChild(_gridSprites[i][j], 2);
        _gridSprites[i][j]->setVisible(false);
        _gridSprites[i][j]->setAnchorPoint(item->getAnchorPoint());
        _gridSprites[i][j]->setPosition(item->getPosition());

        _grids[i][j] = FLAG_NONE;

        if ((i == 3 && j == 3) || (i == 4 && j == 4)) {
            _grids[i][j] = FLAG_BLACK;
            _blackCount++;
            _gridSprites[i][j]->setTexture(_blackTex);
            _gridSprites[i][j]->setVisible(true);
        }
        else if ((i == 3 && j == 4) || (i == 4 && j == 3)) {
            _grids[i][j] = FLAG_WHITE;
            _whiteCount++;
            _gridSprites[i][j]->setTexture(_whiteTex);
            _gridSprites[i][j]->setVisible(true);
        }
    }
}

_curFlag = FLAG_BLACK;
_curFlagSprite = CCSprite::createWithTexture(_blackTex);
_midArea->addChild(_curFlagSprite, 1);
_curFlagSprite->setAnchorPoint(ccp(0, 0));
_curFlagSprite->setPosition(ccp(7 * 75, 75 * 8 + 25));

setKeypadEnabled(true);

scheduleUpdate();

printf("GameLayer::init whiteCount %d, blackCount %d\n", _whiteCount,
    _blackCount);

return true;
然后也给我这个

1>e:\games\game maker\cocos2d-x-2.2.6\cocos2d-x-2.2.6\projects\reversi2\classes\gamescene.cpp(48): error C2660: 'cocos2d::CCMenuItem::setTarget' : function does not take 1 arguments

对不起,英语不是我的母语,所以希望你们都能理解:我不记得解决方案了,我想它是关于一个类型转换:

谢谢南德,你的所有说明都非常非常好:D使用CCNode将其更改为CCObject,getTag已编辑,:D,所有问题都已解决,谢谢:D@Nande在这一点上你错了。CCLayer是CCNode的一个子类。是的,它确实从CCNode继承。
1>e:\games\game maker\cocos2d-x-2.2.6\cocos2d-x-2.2.6\projects\reversi2\classes\gamescene.cpp(48): error C2660: 'cocos2d::CCMenuItem::setTarget' : function does not take 1 arguments