列表的二维数组c ++

时间:2014-05-26 19:03:24

标签: c++ arrays list structure

我对二维列表数组有疑问。我正在制作有条理的列表,然后我将它与数组连接。

class Game: parent, stan
{
public:
      static void Start();

private:
    struct lista_rodzicow
    {
        static std::list<parent> kolejka;
    };

    static lista_rodzicow parent[10][10];

这是我的Parent.h标题(当然不是完整的):

class parent
{   
public:
int x, y, strona, combo;

    parent();
    parent(int x, int y, int s, int c):x(x), y(y), strona(s), combo(c)
    {
    }

方法我遇到问题:

bool Game::CzyBylem(int x, int y)
{
    for (std::list<parent>::iterator it = parent[x][y].kolejka.begin(); it != board[x][y].kolejka.end(); ++it)
    {
        if( it->x == x && it->y == y )
            return true;
    }
}

我需要的是二维数组,列表(或队列)链接到它,例如。在元素[3] [4]中我可以添加几个不同的类,如(a,b,c,d)。

完整的例子:

[0][0] - (a, b, c, d), (a2, b2, c2, d2)

[0][1] - empty

[1][0] - (a3, b3, c3, d3)

[1][1] - (a4, b4, c4, d4), (a5, b5, c5, d5)

我得到了Erorrs:

Error   15  error C2923: 'std::list' : 'parent' is not a valid template type argument for parameter '_Ty'

Error   16  error C2440: 'initializing' : cannot convert from 'std::_List_iterator<_Mylist>' to 'std::_List_iterator<_Mylist>'  

Error   18  error C2228: left of '.end' must have class/struct/union    

Error   19  error C2839: invalid return type 'int *' for overloaded 'operator ->'   

Error   20  error C2039: 'x' : is not a member of 'std::_List_iterator<_Mylist>'

1 个答案:

答案 0 :(得分:1)

您似乎有parent作为班级,parent作为Game的成员。 尝试将成员定义为parent_