Allegro.cc - Online Community

Allegro.cc Forums » Programming Questions » No member Function Declared

This thread is locked; no one can reply to it. rss feed Print
No member Function Declared
joshua.tilson
Member #7,552
July 2006
avatar

Hello every one,

I am new to these forums, and am hoping some one can give me some quick advice. I have recently started programing C++ some i am just a noob, but i have a good feel for a lot of the basics. Recently i started wroking with allegro, testing out some random function, and on others advice started doing the PONG game just to get the hang of game logic.
I have my program split into three files so far the main: "Allegro Pong.cpp" a "pongclasses.h" and "pongclasses.cpp"

I am having a heck of a time when i compile, It is telling me that Certain member functions are not declared within the class, allthough they are declared exactly the same as the other member fucntions in the same class. Mainly it is my pad() member function that is supposed to move the players paddle.

1//allegro pong.cpp
2 
3#include <pongclasses.h>
4#include <allegro.h>
5#include <cstdlib>
6 
7 
8int main(){
9 
10 allegro_init();
11 install_keyboard();
12 set_color_depth(16);
13 set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
14
15 Player newPlayer; //initiate PLayer class
16 newPlayer.pX1 = 20;
17 newPlayer.pX2 = 70;
18 newPlayer.drawPaddle();
19
20 ball thisBall; // Initiate Ball class
21 thisBall.ballX = 100;
22 thisBall.ballY = 100;
23 thisBall.BTempX = 100;
24 thisBall.BTempY = 100;
25 thisBall.dir = 1;
26
27 while( !key[KEY_ESC]){
28
29
30 thisBall.moveCircle();
31
32 }
33
34 return 0;
35 
36}
37END_OF_MAIN();

1//pongclasses.h
2 
3#ifndef H_PONGCLASSES
4#define H_PONGCLASSES
5 
6 
7 
8 
9class Player
10{
11 public:
12 Player();
13 ~Player();
14 void pad();
15 void drawPaddle();
16
17
18 private:
19 int pX1, pX2, tempPX1, tempPX2;
20 BUFFER *paddleBuffer;
21};
22 
23class Comp
24{
25};
26class ball
27{
28 public:
29 void ball();
30 void ~ball();
31 void moveCircle();
32
33 private:
34 int ballX;
35 int ballY;
36 int BTempX;
37 int BTempY;
38 int dir;
39};
40 
41#endif

1//pongclasses.cpp
2 
3#include <allegro.h>
4#include <pongclasses.h>
5 
6//ball class
7void ball::moveCircle(){
8 BTempX = ballX;
9 BTempY= ballY ;
10 //This will keep track of the circles direction
11 //1= up and left, 2 = down and left, 3 = up and right, 4 = down and right
12
13 if (dir == 1 && ballX != 20 && ballY != 20){
14
15 --ballX;
16 --ballY;
17
18 } else if (dir == 2 && ballX != 20 && ballY != 460){
19 
20 --ballX;
21 ++ballY;
22 
23 } else if (dir == 3 && ballX != 620 && ballY != 20){
24 
25 ++ballX;
26 --ballY;
27 
28 } else if (dir == 4 && ballX != 620 && ballY != 460){
29 
30 ++ballX;
31 ++ballY;
32 
33 } else {
34 
35 dir = rand() % 4 + 1;
36 
37 }
38
39 acquire_screen();
40 circlefill ( screen, BTempX, BTempY, 10, makecol( 0, 0, 0));
41 circlefill ( screen, ballX, ballY, 10, makecol( 255, 255, 255));
42 release_screen();
43
44 rest(10);
45 
46} //end moveCircle()
47 
48//Player Class
49void Player::pad()
50{
51 tempPX1 = pX1;
52 tempPX2 = pX2;
53 if(key[KEY_LEFT]){
54 --pX1;
55 --pX2; }
56 if(key[KEY_RIGHT]){
57 ++pX1;
58 ++pX2; }
59}
60 
61void Player::drawPaddle()
62{
63 rectfill(screen, tempPX1, 10, tempPX2, 15, makecol(0,0,0));
64 rectfill(screen, pX1, 10, pX2, 15, makecol(255,255,255));
65}

Thanks you guys for taking the time to look at this mess i have made!
I would appreciate any suggestions or solutions as i am Stumped!:-[

Steve++
Member #1,816
January 2002

Try this (may still have some errors):

1//allegro pong.cpp
2 
3#include <pongclasses.h>
4#include <allegro.h>
5#include <cstdlib>
6 
7int main()
8{
9 allegro_init();
10 install_keyboard();
11 set_color_depth(16);
12 set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
13 
14 Player newPlayer; //initiate PLayer class
15 newPlayer.setPosition(20, 70)->drawPaddle();
16 Ball ball; // Initiate Ball class
17 ball.setPosition(100, 100)->setDirection(1);
18 
19 while (!key[KEY_ESC])
20 {
21 ball.moveCircle();
22 }
23 
24 return 0;
25}
26END_OF_MAIN();

1//pongclasses.h
2 
3#ifndef H_PONGCLASSES
4#define H_PONGCLASSES
5 
6 
7class Player
8{
9public:
10 Player();
11 ~Player();
12 Player* pad();
13 Player* drawPaddle();
14 Player* setPosition(int x1, int x2);
15 Player* getPosition(int* x1, int* x2);
16 Player* setDirection(int dir);
17private:
18 int X1, X2, tempX1, tempX2;
19 BUFFER *paddleBuffer;
20};
21 
22class Comp
23{
24};
25 
26class Ball
27{
28public:
29 Ball();
30 ~Ball();
31 Ball* moveCircle();
32 Ball* setPosition(int X, int Y);
33 Ball* getPosition(int* X, int* Y);
34 Ball* setDirection(int dir);
35private:
36 int x;
37 int x;
38 int tempX;
39 int tempY;
40 int dir;
41};
42 
43#endif

1//pongclasses.cpp
2 
3#include <allegro.h>
4#include <pongclasses.h>
5 
6//Ball class
7Ball::Ball()
8{
9 x = 0;
10 y = 0;
11 tempX = 0;
12 tempY = 0;
13 dir = 0;
14}
15 
16Ball::~Ball()
17{
18 // TODO: cleanup stuff
19}
20 
21Ball* Ball::moveCircle()
22{
23 tempX = X;
24 tempY = y;
25 //This will keep track of the circles direction
26 //1= up and left, 2 = down and left, 3 = up and right, 4 = down and right
27 if ((dir == 1) && (x > 20) && (y > 20))
28 {
29 --x;
30 --y;
31 }
32 else if ((dir == 2) && (x != 20) && (y != 460))
33 {
34 --x;
35 ++y;
36 }
37 else if ((dir == 3) && (x != 620) && (y != 20))
38 {
39 ++x;
40 --y;
41 }
42 else if ((dir == 4) && (x != 620) && (y != 460))
43 {
44 ++x;
45 ++y;
46 }
47 else
48 {
49 dir = rand() % 4 + 1;
50 }
51
52 acquire_screen();
53 circlefill (screen, BTempX, BTempY, 10, makecol( 0, 0, 0));
54 circlefill (screen, x, y, 10, makecol( 255, 255, 255));
55 release_screen();
56 rest(10);
57 return this;
58} //end moveCircle()
59 
60Ball* Ball::setPosition(int x, int y)
61{
62 this->x = x;
63 this->y = y;
64 return this;
65}
66 
67Ball* Ball::getPosition(int* x, int* y)
68{
69 *x = this->x;
70 *y = this->y;
71 return this;
72}
73 
74Ball* Ball::setDirection(int dir)
75{
76 this->dir = dir;
77 return this;
78}
79 
80 
81//Player Class
82Player::Player()
83{
84 // TODO: initialise stuff
85}
86 
87Player::~Player()
88{
89 // TODO: cleanup
90}
91 
92Player* Player::pad()
93{
94 tempX1 = X1;
95 tempX2 = X2;
96 if (key[KEY_LEFT])
97 {
98 --X1;
99 --X2;
100 }
101 if (key[KEY_RIGHT])
102 {
103 ++X1;
104 ++X2;
105 }
106 return this;
107}
108 
109Player* Player::drawPaddle()
110{
111 rectfill(screen, tempX1, 10, tempX2, 15, makecol(0,0,0));
112 rectfill(screen, X1, 10, X2, 15, makecol(255,255,255));
113 return this;
114}
115 
116Player* Player::setPosition(int x1, int x2)
117{
118 this->x1 = x1;
119 this->x2 = x2;
120 return this;
121}
122 
123Player* Player::getPosition(int* x1, int* x2)
124{
125 *x1 = this->x1;
126 *x2 = this->x2;
127 return this;
128}
129 
130Player* Player::setDirection(int dir)
131{
132 this->dir = dir;
133 return this;
134}

joshua.tilson
Member #7,552
July 2006
avatar

Ok i will change that, also I have put the DrawPaddle and pad member functions together, this seems to work for me... allthough it seems that any time i try to define more than one member function for a class it gives me the no member function declared.... Ghar!

Tomoso
Member #3,128
January 2003
avatar

Instead of accessing and changing your Class Member Variables directly. Try using Accessor Functions. This makes sure your variables remain unchanged unless you specifically call the correct function within the class. It also allows you to carry out error checking.

For Example:

1 
2class Player
3{
4 public:
5 Player(BITMAP* buffer);
6 ~Player();
7 
8 // Accessor Functions
9 int GetX() { return m_X; }
10 int GetY() { return m_Y; }
11 int GetTempX() { return m_TempX; }
12 int GetTempY() { return m_TempY; }
13 
14 // Other Functions
15 void MovePaddle(); // Move Paddle
16 void DrawPaddle(); // Draw Paddle to buffer
17
18 private:
19 int m_X;
20 int m_Y;
21 
22 BUFFER *m_pBuffer;
23};

Err I hope that helps. I got distracted when writing this and forgot the point I was trying to make. Gtg now >.<

Lazy Noob - Blog

Steve++
Member #1,816
January 2002

First post edited. Have a look.

joshua.tilson
Member #7,552
July 2006
avatar

thank you for the help guys!
It seems my main problem here is my compiler Dev-C++ will not allow me to set more that one member function per class.. Every time i add a new on and try to define it it will tell me that it has not been defined in the class... I am soo confused, and have not run into this type of thing before

thank you

Steve++
Member #1,816
January 2002

That is not the case. It sounds like you're misinterpreting compiler errors. Please copy and paste you compiler errors here so we can tell you what they really mean.

I'm going to sleep now, so I'll let someone else do the honours.

joshua.tilson
Member #7,552
July 2006
avatar

Ok here is my compiler error:

69 G:\Dev-Cpp\pongclasses.cpp no `int Player::getPos()' member function declared in class `Player'

this is just an eample, in my pongclasses.h I added int getPos();
and in allegroclasses.cpp i added int Player::getPos90{};

not sure exactly whats goign on..
thanks for the help once again!

Steve++
Member #1,816
January 2002

pongclasses.cpp is only 64 lines, so that isn't really helpful to me. Can you please post whatever code you have now and the error messages that the compiler is giving, so we can help you figure them out?

joshua.tilson
Member #7,552
July 2006
avatar

Steve++
hey thanks for the help, I tried soemthing different, I used all functions and put them all in one CPP and it is workign great now, I will worry more about the OOP in a later project i think... Or now that i know what code to use i could rewrite it... And it seems that if i post, and then have an update.. i cannot rpost unless osme one else has posted after me? wierd...

well here is the code i am using now. and I took the hint on the style of how to write it from http://www.cppgameprogramming.com/cgi/nav.cgi?page=index

here is my new code

1#include <allegro.h>
2#include <cstdlib>
3#include <time.h>
4 
5int ballX,ballY, ballTempX, ballTempY;
6int pX1, pX2, pTempX1, pTempX2;
7int cX1, cX2, cTempX1, cTempX2;
8int dir;
9BITMAP *buffer;
10 
11void startNew(){
12 
13 clear_keybuf();
14 readkey();
15 clear_to_color( buffer, makecol( 0, 0, 0));
16 ballX = 320;
17 ballY = 240;
18 
19 //p1_x = 20;
20 // p1_y = 210;
21 
22 // p2_x = 620;
23 //p2_y = 210;
24 
25}
26
27void moveBall()
28{
29 ballTempX = ballX;
30 ballTempY= ballY ;
31 //This will keep track of the circles direction
32 //1= up and left, 2 = down and left, 3 = up and right, 4 = down and right
33
34 if (dir == 1 && ballX != 20){
35 if( ballX >= pX1 && ballX <= pX2 && ballY == 25){
36 dir = rand() % 4 +1;}
37 else{
38 --ballX;
39 --ballY;}
40
41 } else if (dir == 2 && ballX != 20 && ballY == 455){
42 if (ballX >=cX1 && ballX <= cX2 ){
43 dir = rand() % 4 + 1;}
44 else{
45 --ballX;
46 ++ballY;}
47
48 
49 } else if (dir == 3 && ballX != 620){
50 if ( ballX >= pX1 && ballX <= pX2 && ballY == 25){
51 dir = rand() % 4 +1;}
52 else{
53 ++ballX;
54 --ballY;}
55 
56 } else if (dir == 4 && ballX != 620){
57 if(ballX >= cX1 && ballX <= cX2 && ballY == 455){
58 dir = rand() % 4 +1;}
59 else{
60 ++ballX;
61 ++ballY;}
62
63 
64 } else {
65 
66 dir = rand() % 4 + 1;
67 
68 }
69
70 acquire_screen();
71 circlefill ( buffer, ballTempX, ballTempY, 10, makecol( 0, 0, 0));
72 circlefill ( buffer, ballX, ballY, 10, makecol( rand() % 255, rand() % 255, rand() % 255));
73 draw_sprite(screen, buffer, 0,0);
74 release_screen();
75
76 rest(5);
77} //end moveCircle()
78 
79void drawPlayer(){
80 pTempX1 = pX1;
81 pTempX2 = pX2;
82 if(key[KEY_LEFT] && pX1 > 0){
83 --pX1;
84 --pX2; }
85 else if(key[KEY_RIGHT] && pX2 < 640){
86 ++pX1;
87 ++pX2; }
88 acquire_screen();
89 rectfill(buffer, pTempX1, 10, pTempX2, 15, makecol(0,0,0));
90 rectfill(buffer, pX1, 10, pX2, 15, makecol(rand() % 255,rand() % 255,rand() % 255));
91 draw_sprite(screen, buffer, 0, 0);
92 release_screen();
93
94};
95 
96void drawComp()
97{
98 cTempX1 = cX1;
99 cTempX2 = cX2;
100 if(key[KEY_A] && cX1 > 0){
101 --cX1;
102 --cX2; }
103 else if(key[KEY_D] && cX2 < 640){
104 ++cX1;
105 ++cX2; }
106 acquire_screen();
107 rectfill(buffer, cTempX1, 470, cTempX2, 465, makecol(0,0,0));
108 rectfill(buffer, cX1, 470, cX2, 465, makecol(rand() % 255,rand() % 255,rand() % 255));
109 draw_sprite(screen, buffer, 0, 0);
110 release_screen();
111
112};
113
114void setupGame()
115{
116 pX1 = 210;
117 pX2 = 280;
118 cX1 = 210;
119 cX2 = 280;
120 ballX = 320;
121 ballY = 240;
122 ballTempX = 320;
123 ballTempY = 240;
124 dir = rand() % 4 + 1;
125};
126 
127void checkWin()
128{
129 if (ballY < 0){
130 circlefill ( buffer, ballTempX, ballTempY, 10, makecol( 0, 0, 0));
131 draw_sprite(screen, buffer, 0,0);
132 textout_ex(screen, font, "PLayer2 Wins!", 320,240, makecol(255,0,255), makecol(0,0,0));
133 startNew();}
134 else if (ballY > 480){
135 circlefill ( buffer, ballTempX, ballTempY, 10, makecol(0,0,0));
136 draw_sprite(screen, buffer, 0, 0);
137 textout_ex(screen, font, "Player1 Wins!", 320, 240, makecol(255,0,255), makecol(0,0,0));
138 startNew();}
139};
140
141 
142 
143int main()
144{
145 allegro_init();
146 install_keyboard();
147 set_color_depth(16);
148 set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
149 buffer = create_bitmap(640, 480);
150 srand(time(0));
151 setupGame();
152 drawPlayer();
153 while(!key[KEY_ESC])
154 {
155 moveBall();
156 drawPlayer();
157 drawComp();
158 checkWin();
159 }
160}
161END_OF_MAIN();

Now i did use his examples of how he did it, but i wrote my own code...
tell me what you guys think.. Still gotta fix some things, like COmputer AI (no clue!) and the ball seems to bounce way to randomly, i need to figure out a way that if the ball is bouncing down and hits a wall it continues bouncing down, right now it will be bouncing down, hit a wall and start bouncing up! Gah i kow its because of the rand() function that i use...

thanks guys

Steve++
Member #1,816
January 2002

Instead of using a single direction value, use x and y direction values. Better still, use deltas. Call them dx and dy. They will represent the number of pixels to move in the x and y directions per frame. Then you can just switch the sign of dx when the x extremities are reached and the same for dy and y. The following code does this, but also adds something a little more complex. It allows for increments greater than one. For example, if dx = 8, then x is travelling to the right, eight pixels per frame. In this same example, if x is six pixels away from a wall, it will move six pixels to the right, then two to the left. It has the same effect as looping single increments eight times, but without the inefficiency. Observe:

1if (dx < 0)
2{
3 if (x + dx >= MIN_BALL_X)
4 {
5 x += dx;
6 }
7 else
8 {
9 x = 2 * MIN_BALL_X - dx - x;
10 dx = -dx;
11 }
12}
13else // dx > 0
14{
15 if (x + dx <= MAX_BALL_X)
16 {
17 x += dx;
18 }
19 else
20 {
21 x = 2 * MAX_BALL_X - dx - x;
22 dx = -dx;
23 }
24}

Formulae such as x = 2 * MAX_BALL_X - dx - x may seem strange. This one, for example is derived from x = MAX_BALL_X - (dx - (MAX_BALL_X - x)), which may be more descriptive to you.

That takes care of x. To calculate y, you will need a similar structure as the code above, but of course with the addition of collision testing with the player object (assuming the player(s) move(s) horizontally).

Hope this helps.

joshua.tilson
Member #7,552
July 2006
avatar

Hey Steve!

Aweosme, thanks fo the help. Havent got much into Matha nd programming yet, finding out im goignt o have to study up, know any good tutorials or reading on programming math? Umm I did the X and did one very similar to it for Y, i have not got the colision deticiton goiung yet, still puzzling on that one.

I have run into something wierd with this code though, when the ball hits the wall either X-0 or Y-0 it just runns along the top or side of the screen.. trying to find what causes that as well.
But over all this is a huge help! also gives me something to figure out on my own right? thanks for the shove in the right direction!

Steve++
Member #1,816
January 2002

Oops... try this:

1if (dx < 0)
2{
3 if (x + dx > MIN_BALL_X)
4 {
5 x += dx;
6 }
7 else
8 {
9 x = 2 * MIN_BALL_X - dx - x;
10 dx = -dx;
11 }
12}
13else // dx > 0
14{
15 if (x + dx < MAX_BALL_X)
16 {
17 x += dx;
18 }
19 else
20 {
21 x = 2 * MAX_BALL_X - dx - x;
22 dx = -dx;
23 }
24}

Stupid error ::)

joshua.tilson
Member #7,552
July 2006
avatar

In general "they" say to trust your gut instinct, or in the case of school your first instinvct on the answer is usually right. I had looked at the >= and <= and thought about changing that..

Thank you so much for the help! Once i get this part down im going to try to add soem GUI to allow the player to choose wheter to start a 2 player, 1 player vs compuer or quit..

I have been looking into some GUIs for allegro.. I have heard that the built in gui is awfull, is that true?

and what of ones like Guichan, or the unuglification gui?

Oh well imight just try the built in one, doesnt need to be pretty this is all for practice in game programming logic and theory.

thanks again for the help!

P.S

I got it working with the colision detection and everything, man was that part easy I'm dumb!!

check it out:

if (dy < 0 && ballX >= pX1 && ballX <= pX2 && ballY == 25)
   { dy = -dy;}
if (dy > 0 && ballX >= cX1 && ballX <= cX2 && ballY == 455)
   { dy = -dy;}

I added that right above yourr dx and dy code!
It works perfectly!

I nominate you for noob helper of the year!

Kauhiz
Member #4,798
July 2004

If you're just going to have a menu where the player can choose 1 or 2 player game and stuff like that, you probably won't need to use a gui at all. Just code some buttons, they'll look nicer, and will probably be easier than learning a gui lib, since you won't need most of it.

---
It's Ridge Racer! RIIIIIDGE RAAAAACER!

Steve++
Member #1,816
January 2002

The Allegro GUI is a 'perfect' system once you understand it. By perfect, I mean that it does exactly what it's supposed to do and nothing more, and it is quite compact. It is perfect for a C programmer, but a bit ugly if you're used to an object oriented GUI interface. Luckily there are some helper functions that show various sorts of dialogue boxes. I'd look into that first, because it will most likely save you having to use a gui API (be it Allegro's or some other add-on).

Good to hear you got it all working. I've never actually written pong myself, but I've done plenty of balls-bouncing-off-walls stuff.

Quote:

I nominate you for noob helper of the year!

Sigged :)

joshua.tilson
Member #7,552
July 2006
avatar

Well hey pong seemed long the logical place to start, I mean start at the beginning and work up right? Next i will writer Zork I'm dumb! yeah right.
You have beena lot of help thank you steve++.. I am looking into the allegro gui right now... hope to make this a fully functioning game!

well Im off for some good old fashioned learnin!

Steve++
Member #1,816
January 2002

Yeah, pong is a good place to start, but at the time I was 13 and I thought it was beneath me.

joshua.tilson
Member #7,552
July 2006
avatar

Well lucky for me i waited about 12 years longer than you to start coding.. Oh wait not lucky me damnit! Why couldn't i do this earlier?
I know i have started along a long and hard road, but i am willing to go every step of the way, sometimes you just need a shove in the right direction is all.

Wish me luck on the GUI, i will post here periodically with updates on whats goign on with this rinky dink project of mine!

thanks again!

Hey on a side note, I am looking at the Allegro GUI tutorial at http://agdn.netfirms.com/main/gui/dialogs.html

and i have taken their color builder code to try and see how things work, only the call to update_color doesnt work, is that depreciated or what? wha is used now instead of that?

oh well least with that out it works other than changing the olor, trying to figure this bit out now!

jakerohs
Member #485
June 2000
avatar

Slightly offtopic, but I noticed that you <included.h> your own files, as opposed to "including.h" them. Can anyone explain the difference to me? I've always used < > for libraries, and " " for my own files.

Steve++
Member #1,816
January 2002

Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.

Jake, the difference is that "including" them searches in the same directory as the file that's "including" them, whereas <including> them looks in the compiler's include directory.

LennyLen
Member #5,313
December 2004
avatar

joshua.tilson,

I have attached the code for a simple program that creates a skeleton class with more than one member function and then uses it. Try compiling it to see if you get the same error (it compiled perfectly for me).

I'm guessing you may have the same problem since when I tested your code, while it threw up a ton of errors, none of them was the error you got.

Quote:

And it seems that if i post, and then have an update.. i cannot rpost unless osme one else has posted after me? wierd...

ML designed the forum this way deliberately. If you've ever come across forums where people post ten posts in a row, each updating the last one, you'll appreciate why. If you want to add new material to a post, edit it and enclose the new material in [update][/update] or [edit][/edit] (or something similar). These aren't real forum tags, but they let others know that you've added new material.

Jake Rohs said:

Slightly offtopic, but I noticed that you <included.h> your own files, as opposed to "including.h" them. Can anyone explain the difference to me?

The compiler determines where to look for the file being included by checking if it's name is enclosed in "" or <>. Exactly where the compiler looks in each case is compiler specific, not language specific.

Steve++
Member #1,816
January 2002

Josh, you can also press "Send to Top", which bumps your thread to the top of the list and highlights it, but use that feature sparingly - only when you edit a post significantly and think that people may be interested in the changes.

joshua.tilson
Member #7,552
July 2006
avatar

Steve++ said:

Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.

Is there anything newer i can take a look at?

Kauhiz said:

Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.

not sure where ot start on this either, A kick in the right direction would be great!

LennyLen said:

I have attached the code for a simple program that creates a skeleton class with more than one member function and then uses it. Try compiling it to see if you get the same error

I got it and compiled it and it worked fine! course I am on my work computer now and not at home. I have never encountered that problem before done a few simple classes with many member functions and never had that happen... probably a simple typo or somehting oh well!

once again, thanks for the help and advice every one!

Josh

LennyLen
Member #5,313
December 2004
avatar

Quote:

I have never encountered that problem before done a few simple classes with many member functions and never had that happen... probably a simple typo or somehting oh well!

The fact that I can compile the same code without that error would indicate otherwise.

Go to: