F
free2klim
Hi,
I am relatively new to programming C++ and I am writing a small program
in which I am using a 3D array of type int. The 3D array is a member
of class GameBoard, which I have defined in the GameBoard.h header file
as follows:
class GameBoard {
//function prototypes
public:
GameBoard();
int getMovePeg();
void readMovePeg();
void readDestPeg();
void makeMove();
bool gameOverCheck();
void endGame();
void displayBoard();
private:
bool peg;
int movePeg, destPeg, jumpPeg, movesTaken, leftPegs;
//HERE IS THE DECLARATION FOR THE ARRAY
int holes[15][5][2];
void initHoles();
string printHole(int);
};
I then
#include "GameBoard.h"
in the GameBoard.cpp file. Then I try to do this with the array:
GameBoard::holes = {{{0,0},{1,3},{2,5},{0,0},{0,0}}, //hole 0
{{0,0},{3,6},{4,8},{0,0},{0,0}}, //hole 1
{{0,0},{4,7},{5,9},{0,0},{0,0}}, //hole 2
{{0,0},{1,0},{4,5},{6,10},{7,12}}, //hole 3
{{0,0},{7,11},{8,13},{0,0},{0,0}}, //hole 4
{{0,0},{2,0},{4,3},{8,12},{9,14}}, //hole 5
{{0,0},{3,1},{7,8},{0,0},{0,0}}, //hole 6
{{0,0},{4,2},{8,9},{0,0},{0,0}}, //hole 7
{{0,0},{4,1},{7,6},{0,0},{0,0}}, //hole 8
{{0,0},{5,2},{8,7},{0,0},{0,0}}, //hole 9
{{0,0},{6,3},{11,12},{0,0},{0,0}}, //hole 10
{{0,0},{7,4},{12,13},{0,0},{0,0}}, //hole 11
{{0,0},{7,3},{8,5},{11,10},{13,14}}, //hole 12
{{0,0},{8,4},{12,11},{0,0},{0,0}}, //hole 13
{{0,0},{9,5},{13,12},{0,0},{0,0}}}; //hole 14
I get this error:
"error C2761: 'int GameBoard::holes[15][5][2]' : member function
redeclaration not allowed"
What am I doing wrong? I have tried everything I could think of to get
this array to work. Thanks in advance for any help that anyone can
offer! If I need to provide any more code or explanation, please let
me know.
Brian
I am relatively new to programming C++ and I am writing a small program
in which I am using a 3D array of type int. The 3D array is a member
of class GameBoard, which I have defined in the GameBoard.h header file
as follows:
class GameBoard {
//function prototypes
public:
GameBoard();
int getMovePeg();
void readMovePeg();
void readDestPeg();
void makeMove();
bool gameOverCheck();
void endGame();
void displayBoard();
private:
bool peg;
int movePeg, destPeg, jumpPeg, movesTaken, leftPegs;
//HERE IS THE DECLARATION FOR THE ARRAY
int holes[15][5][2];
void initHoles();
string printHole(int);
};
I then
#include "GameBoard.h"
in the GameBoard.cpp file. Then I try to do this with the array:
GameBoard::holes = {{{0,0},{1,3},{2,5},{0,0},{0,0}}, //hole 0
{{0,0},{3,6},{4,8},{0,0},{0,0}}, //hole 1
{{0,0},{4,7},{5,9},{0,0},{0,0}}, //hole 2
{{0,0},{1,0},{4,5},{6,10},{7,12}}, //hole 3
{{0,0},{7,11},{8,13},{0,0},{0,0}}, //hole 4
{{0,0},{2,0},{4,3},{8,12},{9,14}}, //hole 5
{{0,0},{3,1},{7,8},{0,0},{0,0}}, //hole 6
{{0,0},{4,2},{8,9},{0,0},{0,0}}, //hole 7
{{0,0},{4,1},{7,6},{0,0},{0,0}}, //hole 8
{{0,0},{5,2},{8,7},{0,0},{0,0}}, //hole 9
{{0,0},{6,3},{11,12},{0,0},{0,0}}, //hole 10
{{0,0},{7,4},{12,13},{0,0},{0,0}}, //hole 11
{{0,0},{7,3},{8,5},{11,10},{13,14}}, //hole 12
{{0,0},{8,4},{12,11},{0,0},{0,0}}, //hole 13
{{0,0},{9,5},{13,12},{0,0},{0,0}}}; //hole 14
I get this error:
"error C2761: 'int GameBoard::holes[15][5][2]' : member function
redeclaration not allowed"
What am I doing wrong? I have tried everything I could think of to get
this array to work. Thanks in advance for any help that anyone can
offer! If I need to provide any more code or explanation, please let
me know.
Brian