我已声明:
//myclass.h
QVector<int> aux;
QVector< QVector<int> > tests;
//myclass.cpp
aux = (QVector<int>(2));它工作正常,但现在我希望将每个测试 QVector维度初始化为2个长度: 20和5。
tests = (QVector< QVector<int> >(20)(5));但这是不行的。如何初始化它?
第二个问题是如何使用类似的方法访问测试位置吗?
tests[1][4]谢谢。
发布于 2015-11-08 12:19:42
您可以使用一个大小和一个对象来初始化它,以便在每个对象上复制:
//Your .h
QVector<int> aux;
QVector<QVector<int>> tests;
//your .cpp
aux = QVector<int>(2);
tests = QVector<QVector<int>>(20, aux);注意,在测试初始化中使用aux向量将不会引用它(因此,将来不会通过添加测试来修改它),或者修改它。这样,测试中将有大小为2的20 QVectors。
关于第二个问题,它应该与testsx一起工作,但是如果不是,您可以只使用.at()方法
tests.at(x).at(y);https://stackoverflow.com/questions/33593810
复制相似问题