0

私はこのようないくつかのコードを書きました

struct connectedGrids
{
    int Coord[3];
    enum faceOrien_Type
    {
        xNeg = 0,
        xPos = 1,
        yNeg = 2,
        yPos = 3,
        zNeg = 4,
        zPos = 5
    }faceOrien;
};

class  face
{
public:
    vector<connectedGrids> ConnectedGrids;
};

class grid
{
public:
    face Face;
}

main.cpp でオブジェクト Grid を初期化しました

vector<vector<vector<grid> > > Grid = initGrid();

そして、次のようにネストされたクラスで構造体ベクトルのメンバーを呼び出したい:

Grid[i][j][k].Face.ConnectedGrids.faceOrien = 1;

しかし、それは私に言うエラーを与えました

faceOrien は std::vector<_Ty> のメンバーではありません

私はC++が初めてで、どこが間違っているのかわかりません:(

4

3 に答える 3

4

さて、ConnectedGridsベクトルです、あなたはそれを次のように宣言しました

vector<connectedGrids> ConnectedGrids;

では、そのベクター内のどのconnectedGrids構造を変更したかったのでしょうか?

于 2013-08-09T12:21:47.387 に答える
2

ConnectedGrudsですが、オブジェクトvector<connectedGrids>のように扱っています。connectedGrids

Grid[i][j][k].Face.ConnectedGrids[0].faceOrien = 1;
//                               ^^^  assumes size > 0
于 2013-08-09T12:23:08.317 に答える