( rpsoft | 2022. 10. 17., h – 13:35 )

C/C++-ban nem úgy van, hogy az, hogy 2.0 egy double, és ha egy literalt floatként akarok, az 2.0f, ha meg long doubleként, az 2.0l?

Mellesleg az sem megy (ugyanaz a hibaüzenet), hogy

#include<iostream>
#include<iomanip>

#include<boost/numeric/ublas/vector.hpp>
#include<boost/numeric/ublas/io.hpp>

template<typename T, size_t n> boost::numeric::ublas::vector<T> vecFromArray(const std::array<T, n> x){
  boost::numeric::ublas::vector<T> retVal(n);
  std::copy(x.begin(), x.end(), retVal.begin());
  return retVal;
}

int main(){
  boost::numeric::ublas::vector a = vecFromArray({(double)0.0, (double)1.0, (double)2.0});
  std::cout << a << std::endl;
  return 0;
}