如何访问结构中的值?

时间:2016-10-27 21:09:05

标签: c++ pointers std stdvector

我有一个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

但似乎没有好结果,有人可以告诉我,我做错了吗?

1 个答案:

答案 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;