次のコードでヘッダーのマップを初期化しようとしていますが、タイトルにエラーが表示され続けます。私はC++ 11を使用していますので、これは可能でしょうか?スタティックC++マップの初期化エラーC2552:非集計を初期化リストで初期化できません。
typedef std::map<NPCAnimation::ID, std::map<Direction::ID, sf::Time>> AnimationSpeedMap;
AnimationSpeedMap AnimationSpeeds = {
{NPCAnimation::WALK, {
{Direction::LEFT, sf::milliseconds(100)},
{Direction::RIGHT, sf::milliseconds(100)},
{Direction::UP, sf::milliseconds(200)},
{Direction::DOWN, sf::milliseconds(200)}
}
},
{NPCAnimation::IDLE, {
{Direction::LEFT, sf::milliseconds(600)},
{Direction::RIGHT, sf::milliseconds(600)},
{Direction::UP, sf::milliseconds(600)},
{Direction::DOWN, sf::milliseconds(600)}
}
},
{NPCAnimation::SPECIAL, {
{Direction::LEFT, sf::milliseconds(500)},
{Direction::RIGHT, sf::milliseconds(500)},
{Direction::UP, sf::milliseconds(500)},
{Direction::DOWN, sf::milliseconds(500)}
}
},
};
ありがとうございます! 〜grambler1
は、VSのバージョンに依存し、それがすべてでサポートされている場合、私はわかりませんよ。 – hmjd
私はVS2012 Expressを使用しています。 イニシャライザリストは、新しいC++ 11標準でサポートされています。 – BarrensZeppelin
はい、VS2012では実装されていない可能性があります(このエラーからは表示されません)。 – hmjd