表題のとおりvector に格納したfloatをdoubleに型変換したいと考えております。
以下のようなプログラムはgccではエラーになります。
#include <iostream>
#include <vector>
int main(){
std::vector<float> vec_float;
vec_float.push_back(1.0);
vec_float.push_back(2.0);
vec_float.push_back(3.0);
vec_float.push_back(4.0);
std::vector<double> vec_double = static_cast<std::vector<double> &>(vec_float);
return 0;
}
test2.cpp:10:80: エラー: invalid static_cast from type ‘std::vector<float>’ to type ‘std::vector<double>&’
元々static_cast出来ないものなのでしょうか。
なお、本命としては多次元vectorに対処したいため、キャストで対応できればと思います。
なければ、変換関数を作るしかないと思いますので、無い旨をお知らせいただければ
幸です。