Ответ 1
VS2012 поддерживает синтаксис списка инициализаторов, но реализация VS2012 std::map
не поддерживает. Вам придется ждать поддержки для добавления.
Я пытаюсь инициализировать карту в заголовке со следующим кодом, но он продолжает давать мне ошибку в заголовке. Я использую С++ 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)}
}
},
};
Спасибо заранее! ~ grambler1
VS2012 поддерживает синтаксис списка инициализаторов, но реализация VS2012 std::map
не поддерживает. Вам придется ждать поддержки для добавления.
У меня была такая же проблема. К сожалению, инициализация скобок и многие другие функции С++ 11 не поддерживаются до VS2013.
доказательство: http://msdn.microsoft.com/en-us/library/vstudio/bb386063(v=vs.120).aspx