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>'