10

次のコードを使用してヘッダーでマップを初期化しようとしていますが、タイトルにエラーが表示され続けます。私は C++11 を使用しているので、これは可能なはずですよね?

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)}
        }
    },
};

前もって感謝します!〜グランブラー1

4

2 に答える 2

6

同じ問題がありました。残念ながら、ブラケットの初期化やその他の多くの C++11 機能は、VS2013 までサポートされていません。

証明: http://msdn.microsoft.com/en-us/library/vstudio/bb386063(v=vs.120).aspx

于 2013-07-29T16:01:07.720 に答える