Pro*_*yon 2 c++ arrays pointers header object
以下编辑更新!!! 感谢您的帮助,请务必指出所有错误,我不在乎是否听起来粗鲁或卑鄙,或者其他什么,emo垃圾.直接把它给我,这样我就可以理解出了什么问题.
嗨,大家好!
我是一名新手C++程序员,试图学习并获得一些C++的IRL exp.
我在VC++(vs2008)编译器中尝试以下内容:
typedef unsigned short USHORT;
class Grid
{
...
public:
Grid()
{
Tile[36]* tileList_ptr;
}
...
};
Run Code Online (Sandbox Code Playgroud)
从本质上讲,我想放入36个瓷砖,将它们撞到一个漂亮整齐的数组中,以便在8x8的游戏区域中大小不变.像棋盘一样.用指针引用它们,如果需要,在相关的cpp文件中摆弄它们.
如果你现在没有笑到这个尝试,那么我可能会出现语法错误,而不是主要的设计缺陷:P
任何帮助将非常感激!
提前致谢
编辑24/08/2010 13:49(开始时间)
我的代码现在如下例子:
Grid Header文件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
};
Run Code Online (Sandbox Code Playgroud)
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
}
}
Run Code Online (Sandbox Code Playgroud)
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();
};
Run Code Online (Sandbox Code Playgroud)
Tile.cpp文件:
#include "stdafx.h"
#include "Tile.h"
void Tile::Update()
{
}
void Tile::Draw()
{
}
Run Code Online (Sandbox Code Playgroud)
在Grid.cpp中填充数组的尝试是通过编译器返回以下错误消息:"错误1错误C2061:语法错误:标识符'{ctor}'"
MSDN帮助我给了我这个:
"编译器错误C2061.编译器找到了一个不需要它的标识符.确保在使用它之前声明了标识符."
我没有分析它的含义.我究竟在这做错了什么?还有什么其他问题可以在我的项目中找到?所有的帮助和评论将不胜感激.假设我知道0%的C++
@ user428435.三件事:
你可能意味着
Tile*tileList_ptr [36];