我目前正在使用C ++开发一个项目,我正在使用Visual Studio 2010 Express和Qt Creator 5.3.2。用于应用程序的GUI。
我的问题是我想将2D矢量转换为2D QVector,我真的不知道如何做到这一点。例如,我使用fromStdVector()将1D向量转换为1D QVector,但我无法将数据从2D向量成功传输到2D QVector(使用此功能)。如果有人可以提供帮助,我将非常感激。
源代码:
QVector< QVector<double> > test2D; // 2D QVector
vector < vector<double> > std_test2D; // 2D vector
test2D.resize(20); // dimensions of the 2D QVector
for(int i=0; i<20; ++i)
{
test2D[i].resize(44);
}
std_test2D.resize(20); // dimensions of the 2D vector
for(int i=0; i<20; ++i)
{
std_test2D[i].resize(44);
}
for(int i=0; i<20; i++) // convert vector to QVector???
{
test2D[i].fromStdVector(std_test2D[i]);
}
答案 0 :(得分:0)
您没有分配值。我认为这应该可以使用example code from the documentation:
test2D[i] = QVector<double>::fromStdVector(std_test2D[i]);
答案 1 :(得分:0)
您可以尝试以下方法:
for(int i = 0; i < 20; i++)
{
QVector v = QVector<double>::fromStdVector(std_test2D[i]);
test2D[i].push_back(v);
}