使用 QVector 和 Qt 创建二维的 QString 数组
Create QString array of two dimensions with QVector with Qt
我想在数组中放入一些 QString 单词,但我不知道该怎么做。
我尝试过像这样使用 Vector :
int i = 10;
int j = 10;
QVector < QVector < QString> > tableau;
QString word = "Word";
tableau[i][j] = word;
但这行不通。
这是错误消息:
ASSERT failure in QVector<T>::operator[]: "index out of range"
啊,已经尝试使用 std::vector 和 std::string,但这对
不起作用
那么你能解释一下如何创建一个二维字符串数组来放置单词吗
谢谢
假设您正在尝试创建一个 table(QVector<QVector<T>>
不是最佳选择),您应该首先对其进行初始化。
类似于:
QVector<QVector<QString>> CreateTableau(int sizeX, int sizeY)
{
QVector<QVector<QString>> result;
for (int idx1 = 0; idx1 < sizeX; idx1++)
{
result.append(QVector<QString>());
for (int idx2 = 0; idx2 < sizeY; idx2++)
{
result[idx1].append(QString());
}
}
return result;
}
然后你可以这样称呼它:
int i = 10;
int j = 10;
QVector<QVector<QString>> tableau = CreateTableau(100, 100); //TODO: replace with appropriate sizes.
QString word = "Word";
tableau[i][j] = word;
我想在数组中放入一些 QString 单词,但我不知道该怎么做。 我尝试过像这样使用 Vector :
int i = 10;
int j = 10;
QVector < QVector < QString> > tableau;
QString word = "Word";
tableau[i][j] = word;
但这行不通。 这是错误消息:
ASSERT failure in QVector<T>::operator[]: "index out of range"
啊,已经尝试使用 std::vector 和 std::string,但这对
不起作用那么你能解释一下如何创建一个二维字符串数组来放置单词吗 谢谢
假设您正在尝试创建一个 table(QVector<QVector<T>>
不是最佳选择),您应该首先对其进行初始化。
类似于:
QVector<QVector<QString>> CreateTableau(int sizeX, int sizeY)
{
QVector<QVector<QString>> result;
for (int idx1 = 0; idx1 < sizeX; idx1++)
{
result.append(QVector<QString>());
for (int idx2 = 0; idx2 < sizeY; idx2++)
{
result[idx1].append(QString());
}
}
return result;
}
然后你可以这样称呼它:
int i = 10;
int j = 10;
QVector<QVector<QString>> tableau = CreateTableau(100, 100); //TODO: replace with appropriate sizes.
QString word = "Word";
tableau[i][j] = word;