我猜这个问题是建立在C++ convert vector<int> to vector<double>
我正在尝试将 int 类型的二维向量(存储在对象中)转换为 double 类型的二维向量。根据我提供的 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); 在代码中。