ez szépen megy.
nem hiszem, hogy az eredeti megoldásban lehetne automatikus konverzió array és initializer_list között.
template <typename T>
auto vecFromArray(std::initializer_list<T>&& x)
{
boost::numeric::ublas::vector<T> retVal(x.size());
std::copy(x.begin(), x.end(), retVal.begin());
return retVal;
}
int main()
{
auto a = vecFromArray({0.0, 1.0, 2.0});
std::cout << a << std::endl;
return 0;
}