отредактировано ниже для обновлений !!!
Спасибо за помощь, пожалуйста, во что бы то ни стало укажите на ВСЕ ошибки, мне все равно, звучит ли это грубо, значит или что-то в этом роде, эмо-хлам. Просто дай мне это прямо, чтобы я мог понять, что происходит не так.
Привет всем!
Я начинающий программист C ++, пытающийся выучить и получить немного опыта IRL для C ++.
Я пытаюсь выполнить следующее в моем компиляторе VC ++ (vs2008):
typedef unsigned short USHORT;
class Grid
{
...
public:
Grid()
{
Tile[36]* tileList_ptr;
}
...
};
В сущности, я хочу положить 36 плиток, разбить их на множество и аккуратно в куче для игрового поля 8x8, которое никогда не изменится в размере. Как шахматная доска. Обращайтесь к ним с помощью указателя и, при необходимости, возьмите их с собой в связанный cpp-файл.
Если вы сейчас не смеетесь над этой попыткой, то я, вероятно, допустил синтаксическую ошибку вместо существенного недостатка проекта: P
Любая помощь будет высоко ценится!
Заранее спасибо
РЕДАКТИРОВАТЬ 24/08/2010 13:49 (время запуска)
Мой код теперь выглядит следующим образом:
Заголовочный файл сетки Grid.h:
#include "Tile.h"
class Grid
{
//no more typedef used
public:
Tile grid[8][8];
private:
unsigned short selectedItemIndexValue;
public:
Grid()
{
Initialize();
}
~Grid(){}
void Update();
void FinalizeMove(unsigned short index);
void Draw();
private:
void Initialize(); //Initializes members
};
Файл Grid.cpp:
#include "stdafx.h"
#include "Grid.h"
//Not tile , that used to give me a class redefinition error
unsigned short selectedItemIndexValue;
//No more typedef used
void Grid::Update()
{
//Respond to controller commands
}
void Grid::FinalizeMove(unsigned short index)
{
}
void Grid::Draw()
{
}
void Grid::Initialize()
{
for(int i = 0; i < 4; i++)
{
Grid::grid[i] = new Tile::Tile(10,10); // ATTEMPT AT FILLING ARRAY
}
}
Файл Tile.h
class Tile
{
public:
private:
enum TileOccupation
{
EmptyTile = 0,
WhiteSphere = 1,
BlackSphere = 2
};
unsigned short horizontalDimensions;
unsigned short verticalDimensions;
public:
Tile(){}
~Tile(){}
void Update();
void Draw();
};
Файл Tile.cpp:
#include "stdafx.h"
#include "Tile.h"
void Tile::Update()
{
}
void Tile::Draw()
{
}
Попытка заполнения массива в Grid.cpp возвращает через компилятор следующее сообщение об ошибке: «Ошибка 1, ошибка C2061: синтаксическая ошибка: идентификатор '{ctor}'»
MSDN помог мне дать мне это:
"Ошибка компилятора C2061. Компилятор нашел идентификатор там, где он не ожидался. Убедитесь, что идентификатор объявлен, прежде чем его использовать."
Мне не удалось проанализировать его значение. Что именно я здесь сделал неправильно? И какие еще проблемы можно найти в моем проекте? Вся помощь и комментарии будут высоко оценены. Просто предположим, что я знаю 0% C ++