C++ 列表的二维数组c++;

C++ 列表的二维数组c++;,c++,arrays,list,structure,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]; 我对以下方法有问题: bo

我对二维列表数组有问题。我在结构化列表中创建列表,然后用数组连接它

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

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

    static lista_rodzicow parent[10][10];
我对以下方法有问题:

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;
    }
}
我得到的是:

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>'
错误15错误C2923:'std::list':'parent'不是参数'\u Ty'的有效模板类型参数
错误16错误C2440:“正在初始化”:无法从“std::\u列表\u迭代器”转换为“std::\u列表\u迭代器”
错误18错误C2228:“.end”的左侧必须具有类/结构/联合
错误19错误C2839:重载的“运算符->”的返回类型“int*”无效
错误20错误C2039:“x”:不是“std::\u列表\u迭代器”的成员

等等。

看起来你有
家长作为班级,有
家长作为
游戏的成员。

尝试将成员定义为
parent

我已经更改了静态列表a\u rodzicow parent[10][10];太lista_rodzicow(父母)[10][10];和父[x][y].kolejka.begin()也是[u parent[x][y].kolejka.begin()等等。现在我得到错误27错误LNK2001:未解析的外部符号“public:static class std::list Game::lista_rodzicow::kolejka”(?kolejka@lista_rodzicow@游戏@@2V$list@Vparent@@V$allocator@Vparent@@@std@@@std@@A)从kolejka和\u父对象中删除静态数据,因为这会导致链接问题,或者您需要在.cpp文件中实例化它们。您必须为静态成员提供外部定义。在本例中,在您的一个cpp文件中,
static Game::lista_rodzicow Game::_parent[10][10]
[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)
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>'