Rookie C ++ Программист снова здесь
Я использую VC ++ VS2008 и пытаюсь создать массив массивов. Все объекты, которые я хочу сохранить, я хочу положить в кучу.
В массивах это всего лишь указатели.
Вот код:
Grid.h
#include "Tile.h"
class Grid
{
public:
Tile* grid_ptr[8][8];
...
...
};
Grid.cpp
#include "stdafx.h"
#include "Grid.h"
...
...
void Grid::Initialize()
{
for(int i = 0; i < 8; i++)
{
Grid::grid_ptr[i][0] = new Tile::Tile(10,10);
for (int j = 0; j < 8; j++)
{
Grid::grid_ptr[i][j] = new Tile::Tile(10,10);
}
}
}
...
...
}
Все работает отлично, включая конструкцию плитки. Кажется, что синтаксическая ошибка, видя, как компилятор дает мне это
Ошибка 1, ошибка C2061: синтаксическая ошибка: идентификатор '{ctor}'
Ошибка 2, ошибка C2061: синтаксическая ошибка: идентификатор '{ctor}'
Все время одна и та же история. К сожалению, вся моя работа увязла в этом, и я НАМНОГО оценил бы решение этой проблемы.
Короче. Как правильно создать массив массивов размером 8x8, заполненный указателями, ссылающимися на соответствующие объекты мозаики?
Это вообще возможно или разумно сделать, используя такую память?
Имейте в виду, что я прочитал множество примеров по этому поводу, и это было успешно с целыми числами или другими типами данных. Это, однако, просто не хочу, я хочу выделить
Tile.h здесь и Tile.cpp ниже
class Tile
{
public:
private:
enum TileOccupation
{
EmptyTile = 0,
WhiteSphere = 1,
BlackSphere = 2
};
unsigned short horizontalDimensions;
unsigned short verticalDimensions;
public:
Tile();
Tile(unsigned short horizontalDimensions, unsigned short verticalDimensions);
~Tile();
void Update();
void Draw();
};
> Tile.cpp
#include "stdafx.h"
#include "Tile.h"
Tile::Tile()
{
}
Tile::Tile(unsigned short horizontalDimensions, unsigned short verticalDimensions)
{
}
void Tile::Update()
{
}
void Tile::Draw()
{
}