Calling an object in a function

This is a discussion on Calling an object in a function within the Game Programming forums, part of the General Programming Boards category; I have had this problem which i keep coming back to, and i have to solve it somehow now My ...

  1. #1
    fry
    fry is offline
    Registered User fry's Avatar
    Join Date
    Mar 2002
    Posts
    128

    Question Calling an object in a function

    I have had this problem which i keep coming back to, and i have to solve it somehow now

    My Main function:
    Code:
    void main(){
    Character Luke;
    Luke.initialise;
    
    battle();
    }
    My class:
    Code:
    class Character
    {
     public:
        void initialise();
        int get_hp();
     private:
        int hp;
    My function:
    Code:
    void battle(){
      Luke.get_hp();
    };
    however i get the nice problem that "Luke is undeclared in this function" (the 'battle' function).
    I of course have several other functions which need to access "Luke.get_hp();" and other modules that i have in the class. So how can i get the "battle" function to be able to see that i have already created the object "Luke" and allow access to it?

  2. #2
    fry
    fry is offline
    Registered User fry's Avatar
    Join Date
    Mar 2002
    Posts
    128
    btw, i think i need to somehow make the classes have a global scope. but i really cant think of a way to do that...

  3. #3
    Registered User
    Join Date
    Apr 2002
    Posts
    1,571
    Why don't you just pass the object into the function? Try this for the new prototype.

    Code:
    void Battle( const Character &temp )
    {
         temp.get_hp( );
    }
    Also in your main you call initialize without paranthesis. You need these because it is a function, remember.

  4. #4
    fry
    fry is offline
    Registered User fry's Avatar
    Join Date
    Mar 2002
    Posts
    128
    thanks. only thing is now i get this error:

    passing `const Character' as `this' argument of `int Character::get_hp()' discards qualifiers


    now what does "discards qualifiers" mean? ive looked around, and havent found anything.

    oh and yeah, i know i was missing the (), i just forgot to put them in when i typed it.
    IDE: Dev C++ 5
    Lib: Allegro
    OS: Windows 2000

  5. #5
    Me want cookie! Monster's Avatar
    Join Date
    Dec 2001
    Posts
    680
    Remove the const keyword...

    It's better to pass the address of the Character object to the function:
    Code:
    void battle(Character *C)
    {
      C->get_hp();
    }
    
    In main:
    
    battle(&Luke);

  6. #6
    Registered User GrNxxDaY's Avatar
    Join Date
    Jul 2002
    Posts
    140
    if you're gonna pass the Character to different functions, i would declare Luke on the heap

    Code:
    int main()
    {
      Character* Luke = new Character;
      Luke->initialise();     // is initialize spelled wrong? lol
    
      battle(Luke);  // Luke is a pointer, passing the address
      return 0;
    }
    and use what monter had for the battle() function.
    AOL: GrNxxDaY
    IDE: Dev-C++ Beta 5 (v4.9.4.1)
    Project: Eye of Sahjz (text-RPG)
    If you think I may need help, please IM me.

  7. #7
    fry
    fry is offline
    Registered User fry's Avatar
    Join Date
    Mar 2002
    Posts
    128
    is initialize spelled wrong?
    no, here in aus, we use "s" not "z"

    and thanks for the help guys, i understand how to do it now
    i just gotta put it together
    IDE: Dev C++ 5
    Lib: Allegro
    OS: Windows 2000

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Seg Fault in Compare Function
    By tytelizgal in forum C Programming
    Replies: 1
    Last Post: 10-25-2008, 04:06 PM
  2. doubt in c parser coding
    By akshara.sinha in forum C Programming
    Replies: 4
    Last Post: 12-23-2007, 01:49 PM
  3. const at the end of a sub routine?
    By Kleid-0 in forum C++ Programming
    Replies: 14
    Last Post: 10-23-2005, 07:44 PM
  4. Question on l-values.
    By Hulag in forum C++ Programming
    Replies: 6
    Last Post: 10-13-2005, 05:33 PM
  5. qt help
    By Unregistered in forum Linux Programming
    Replies: 1
    Last Post: 04-20-2002, 10:51 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21