この質問は、 C++ convert vector<int> to vector<double> に基づいていると思います
int 型の 2 次元ベクトル (オブジェクトに格納されている) を double 型の 2 次元ベクトルにキャストしようとしています。私が提供したSOリンクによると、
std::vector<int> intvec;
std::vector<double> doubvec(intvec.begin(),intvec.end());
元のベクトルを型キャストする必要があります(そうします)。
では、なぜ次のコードが機能しないのでしょうか?
std::vector<std::vector<double>> rotmat(Mesh.matrix.begin(),Mesh.matrix.end());
以下の行は問題なく実行できるので、他に問題がないことはわかっています。私は何が欠けていますか?
std::vector<double> dubvec(Mesh.matrix[0].begin(), Mesh.matrix[0].end());
メッシュは次のように定義されます:
class MeshOut
{
public:
MeshOut();
MeshOut(vector < vector < int >>, vector < vector < int >>, int, int, double, int, bool);
vector<vector<int>> matrix;
vector<vector<int>> lv_mat;
int shortNum;
int SourceNum;
double smallestMeshSize;
int factor;
bool Fine;
....
Meshout Mesh(x,y,z,i,j,k,l); を呼び出します。コードで。