niXforums Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   PreferencesPreferences   Log in to check your private messagesLog in to check your private messages   Log inLog in 
·  nixdoc.net ·  man pages ·  Linux HOWTOs ·  FreeBSD Tips ·  Forums
navigation Forum index » Programming » C++
Trouble Declaring 3D Array in Header File
Post new topic   Reply to topic Page 1 of 1 [2 Posts] View previous topic :: View next topic
Author Message
free2klim
*nix forums beginner


Joined: 21 Jul 2006
Posts: 1

PostPosted: Fri Jul 21, 2006 4:07 am    Post subject: Trouble Declaring 3D Array in Header File Reply with quote

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
Back to top
joosteto@gmail.com
*nix forums beginner


Joined: 09 Jul 2006
Posts: 20

PostPosted: Fri Jul 21, 2006 7:59 am    Post subject: Re: Trouble Declaring 3D Array in Header File Reply with quote

free2klim wrote:
Quote:
Hi,
y:

int GameBoard::holes = {{{0,0},{1,3},{2,5},{0,0},{0,0}},

^I guess you forgot the "int" before the GameBoard there?

Quote:
"error C2761: 'int GameBoard::holes[15][5][2]' : member function
redeclaration not allowed"

g++ often has more insightful error messages:

ref.cc:27: error: `int GameBoard::holes' is not a static member of
`class GameBoard'

Adding static to the declaration within the class (.h), g++ reports:

ref.cc:27: error: conflicting declaration 'int GameBoard::holes'
ref.cc:20: error: 'GameBoard::holes' has a previous declaration as `int
GameBoard::holes[15][5][2]'

So, the types mismatch, we'll have to add the [][][] to the declaration
too.
I ended up with:

class GameBoard{
...
int holes[15][5][2];
};
....
int GameBoard::holes[15][5][2] = {{{0,0},{1,3},{2,5},{0,0},{0,0}},


which compiles.
Back to top
Google

Back to top
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [2 Posts] View previous topic :: View next topic
The time now is Sun Nov 23, 2008 1:58 pm | All times are GMT
navigation Forum index » Programming » C++
Jump to:  

Similar Topics
Topic Author Forum Replies Last Post
No new posts Unknown in header problem -SOLVED- Light Speed Postfix 0 Thu Jul 03, 2008 10:40 am
No new posts Insert header and footer in every page served by proxy ehmedk Apache 0 Tue Apr 22, 2008 6:27 pm
No new posts Insert header and footer in every page served by squid ehmedk Squid 0 Tue Apr 22, 2008 6:16 pm
No new posts Trouble enabling auth on postfix and sasl dklugmann Postfix 0 Fri Feb 29, 2008 11:02 pm
No new posts Running php file everyday on scheduled time sachin PHP 1 Fri Jul 21, 2006 12:49 pm

Indoor Flag Pole Sets | McDonalds | Unsecured Loans | Loans | Credit Cards
Copyright © 2004-2005 DeniX Solutions SRL
 
Other DeniX Solutions sites: Unix/Linux blog |  electronics forum |  medicine forum |  science forum | 
Privacy Policy


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1617s ][ Queries: 16 (0.0877s) ][ GZIP on - Debug on ]