我有一个struct,vector和private变量,如下所示:
typedef struct _ItemData
{
col colour;
int xposition;
} ItemData;
typedef std::vector<ItemData> Data;
Data *lookupTable;
我使用:
初始化表格lookupTable = NULL;
当我添加到ItemData时,我使用:
ItemData newData = { colour, x };
lookupTable[y].push_back(newData);
这会将颜色和x坐标添加到Y线。
我试图稍后使用以下方法访问color和x变量:
lookupTable[yCounter][xCounter].colour
lookupTable[yCounter][xCounter].xposition
但似乎没有好结果,有人可以告诉我,我做错了吗?
答案 0 :(得分:0)
首先 - 不需要在c ++中使用typedef struct(或class)。
struct ItemData
{
col colour;
int xposition;
};
然后你需要
typedef std::vector<ItemData> Data;
Data lookupTable;
ItemData newData = { colour, x };
lookupTable.push_back(newData);
也许你想要一个数组/集合/矢量矢量,不清楚。所以我只是假设你想要最简单的事情
获取数据
col colour = lookupTable[0].colour;