As many before you, you've stumbled upon one of the issues with the "uniform" initialization. :P The constructors of
std::vector
blow up in the same way. The solution? Don't use {}
everywhere, only use it when you want the initializer_list
constructor. And to prevent narrowing you instead turn on the warnings.