Я объявил статическую неупорядоченную карту в файле заголовка следующим образом:
static boost::unordered_map<KeyAction, sf::Key::Code> WindowKeyMap;
в том же файле заголовка, у меня есть функция, которая заполняет карту некоторыми значениями:
static void Initialize(std::string &file)
{
WindowKeyMap[MoveLeft] = sf::Key::Code::Left;
WindowKeyMap[MoveRight] = sf::Key::Code::Right;
WindowKeyMap[MoveUp] = sf::Key::Code::Up;
WindowKeyMap[MoveDown] = sf::Key::Code::Down;
std::cout << std::endl << WindowKeyMap.size() << std::endl;
}
Позже в моей программе внутри отдельного класса / функции я пытаюсь прочитать одно из значений:
std::cout << std::endl << WindowKeyMap.size() << std::endl;
auto test2 = WindowKeyMap[MoveRight];
, но карта всегда пуста.Выход на консоль всегда равен 4 из процедуры инициализации, а затем 0 из второй команды.Я думал, что статические карты были постоянными во всей программе, поэтому я немного озадачен тем, как моя статическая карта становится пустой.Кто-нибудь может пролить свет?
Спасибо