初始化和使用结构的二维向量
Initialize and use 2d vector of structs
我正在尝试初始化具有
的二维结构向量
vector <vector <cellValue>> table;
mStringX = X;
mStringY = Y;
mLengthX = X.length();
mLengthY = Y.length();
vector<cellValue> myRow (0, mLengthY);
table.push_back(myRow);
我的结构cellValue
struct cellValue
{
int stringLength;
arrow direction;
};
并在我的代码中使用了几个地方
table[i, j]->stringLength = table[i - 1, j - 1]->stringLength + 1;
但是我觉得我使用的向量完全错误。我是向量的新手,有人告诉我它们类似于数组。
发现我做错了什么。当我初始化我的向量时,我需要声明是 table = vector<vector<cellValue>> (mLengthX, vector<cellValue>(mLengthY));
并且每当我访问 table
的值时我需要做 table[i][j].stringLength
而不是 table[i, j]->stringLength
我正在尝试初始化具有
的二维结构向量vector <vector <cellValue>> table;
mStringX = X;
mStringY = Y;
mLengthX = X.length();
mLengthY = Y.length();
vector<cellValue> myRow (0, mLengthY);
table.push_back(myRow);
我的结构cellValue
struct cellValue
{
int stringLength;
arrow direction;
};
并在我的代码中使用了几个地方
table[i, j]->stringLength = table[i - 1, j - 1]->stringLength + 1;
但是我觉得我使用的向量完全错误。我是向量的新手,有人告诉我它们类似于数组。
发现我做错了什么。当我初始化我的向量时,我需要声明是 table = vector<vector<cellValue>> (mLengthX, vector<cellValue>(mLengthY));
并且每当我访问 table
的值时我需要做 table[i][j].stringLength
而不是 table[i, j]->stringLength