C++ 在cocos 2.0.4中将Android移植到windows时不允许使用类型名称

C++ 在cocos 2.0.4中将Android移植到windows时不允许使用类型名称,c++,visual-studio-2010,cocos2d-x,C++,Visual Studio 2010,Cocos2d X,我正在使用cocos2.0.4将我的android应用程序移植到windows平台,这是我在构建自己的应用程序时得到的 error: C2143: syntax error : missing ')' before '{' 但它也会在特定行中为:ccColor3B显示不允许的类型名 m_sprStar->setColor( (ccColor3B) {m_iColRed,m_iColGreen,m_iColBlue}); void HorseRunObstacle::anima

我正在使用cocos2.0.4将我的android应用程序移植到windows平台,这是我在构建自己的应用程序时得到的

error: C2143: syntax error : missing ')' before '{'
但它也会在特定行中为:ccColor3B显示不允许的类型名

m_sprStar->setColor( (ccColor3B)    {m_iColRed,m_iColGreen,m_iColBlue});



void HorseRunObstacle::animateCollectables()
{
 if(m_sprStar==NULL)
{
   // if(m_iObstacleId!=OBSTACLE_COIN)
    {
        m_sprStar = CCSprite::create("HorseRun_Resource/Images/starparticle.png");
        m_sprStar->setPosition(m_sprObstacle->getPosition());
        m_sprStar->setScale(0.5f);
        if(m_iObstacleId==OBSTACLE_COIN)

m_sprStar->setColor( (ccColor3B)    {m_iColRed,m_iColGreen,m_iColBlue});

        m_ptrGameLayer->addChild(m_sprStar,0);

        CCActionInterval* scaleUp = CCScaleTo::create(0.2f, 3.14f);
        CCActionInterval* scaleDn = CCScaleTo::create(0.2f, 2.0f);
        CCFiniteTimeAction* seq = CCSequence::create(scaleUp,scaleDn,NULL);
        m_sprStar->runAction(seq);
    }

}

我尝试过使用名称空间cocos2d给出和cocos2d::但是没有用..,请帮助。

你不能像那样“动态”创建结构。而是创建一个临时对象,如

m_sprStar->setColor(Color3B(m_iColRed,m_iColGreen,m_iColBlue));
注意:像这样传递临时对象只适用于通过值或常量引用获取其参数的函数