инициализация массива c ++ 11 не вызовет конструктор копирования

Я делаю небольшой класс, который использует массив по размеру. Вот код ...

.hpp

template <size_t N>
class KeyCombinationListener
{
public:
    KeyCombinationListener(
        const std::array<sf::Keyboard::Key, N>& sequence,
        std::function<void (void)> fn
        );

private:
    std::array<sf::Keyboard::Key, N>  combo;
    std::function<void (void)>  callback;
};

.cc

template <size_t N>
KeyCombinationListener<N>::KeyCombinationListener(
    const array<sf::Keyboard::Key, N>& sequence, function<void (void)> fn
    ) : combo(sequence), progress{begin(combo)}, callback{fn}
{

}

При инициализации члена конструктора я не могу использоватьcombo{sequence} в качестве инициализатора, потому что он принимает толькоsf::Keyboard::Key типы. Это имеет смысл, если он проситinitializer_list, но это кажется странным для меня. С другими стандартными контейнерами я могу вызывать конструктор копирования, используя нотацию {}. Это причуды сstd::array? Или, может быть, ошибка в моем звонке?

На случай, если это поможет, вот моя версия лязга:

Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Selected multilib: .;@m64

Ответы на вопрос(1)

Ваш ответ на вопрос