Я использую эти неупорядоченные карты:unordered_map вставки с пустотой (*)() в качестве значения не работает должным образом
typedef unordered_map <char, void (*)()> Keymap;
Keymap keys;
и пытается заполнить его:
void assign(char key, void (*value)())
{
if (keys[key] == NULL)
keys.insert(Keymap::value_type(key, value));
else
keys[key] = value;
}
инструкция:
keys.insert(Keymap::value_type(key, value));
вставляет символ в ключ, но значение не инициализирован (NULL), поэтому у меня есть карта с («s», NULL) вместо («s», functi on_pointer).
Ключи команды [ключ] = значение; работает правильно.
Где ошибка?
большое спасибо –
@FedericoChiaravalli: Рад, что это помогло. Если это решает вашу проблему, пожалуйста, подумайте о том, чтобы отметить ответ, как принято, когда вам разрешат :) –