Help passing a reference to a pointer several times

Discussion in 'C++' started by jblau, Jan 14, 2007.

  1. jblau

    jblau Guest

    I am trying to pass a reference through a couple of layers of
    functions, and I am getting a C2664 Error.

    Here is my setup:

    I have a class [ c_ClassOne ] which contains a pointer to an object [
    p_MyObject ].

    I have a second class [ c_ClassTwo ] which has a function [
    FunctionOne(MYOBJECTTYPE* myObject) ]


    I have a third class [ c_ClassThree ] which also has a function [
    FunctionTwo(MYOBJECTTYPE* myObject) ]


    I then try to pass the reference to the pointer p_MyObject from
    c_ClassOne to be used within FunctionTwo.

    So in a function within c_ClassOne I create an instance of c_ClassTwo [
    myClassTwo ]
    I then pass a reference to p_MyObject as follows:
    myClassTwo.FunctionOne(&p_MyObject);

    Then within FunctionOne, I create an Instance of c_ClassThree [
    myClassThree ]
    I then attempt to once again pass the reference to p_MyObject:
    myClassThree.FunctionTwo(&p_MyObject);

    On that line I get the following error:
    error C2664: 'CD3DInitialize::Enumerate' : cannot convert parameter 1
    from 'LPDIRECT3D9 ** ' to 'LPDIRECT3D9'

    Note: LPDIRECT3D9 is the Object Type of p_MyObject.


    Can anyone explain what I am doing wrong, and help me understand how to
    do it correctly?

    Thanks,

    Jody
     
    jblau, Jan 14, 2007
    #1
    1. Advertising

  2. jblau

    Andre Kostur Guest

    "jblau" <> wrote in news:1168756044.456046.154740
    @l53g2000cwa.googlegroups.com:

    > I am trying to pass a reference through a couple of layers of
    > functions, and I am getting a C2664 Error.
    >
    > Here is my setup:
    >


    [snip words...]


    >
    > Can anyone explain what I am doing wrong, and help me understand how to
    > do it correctly?


    Too many words... not enough code. Provide a compilable and minimal piece
    of example code which shows your problem. Based on what you seem to have
    described, you're not using C++ terminology correctly... you seem to be
    freely swapping between "reference" and "pointer". They're not the same
    thing. And you don't appear to be following your own coding standards.
     
    Andre Kostur, Jan 14, 2007
    #2
    1. Advertising

  3. jblau

    Ian Collins Guest

    jblau wrote:
    > I am trying to pass a reference through a couple of layers of
    > functions, and I am getting a C2664 Error.
    >
    > Here is my setup:
    >
    > I have a class [ c_ClassOne ] which contains a pointer to an object [
    > p_MyObject ].
    >
    > I have a second class [ c_ClassTwo ] which has a function [
    > FunctionOne(MYOBJECTTYPE* myObject) ]
    >
    >
    > I have a third class [ c_ClassThree ] which also has a function [
    > FunctionTwo(MYOBJECTTYPE* myObject) ]
    >
    >
    > I then try to pass the reference to the pointer p_MyObject from
    > c_ClassOne to be used within FunctionTwo.
    >
    > So in a function within c_ClassOne I create an instance of c_ClassTwo [
    > myClassTwo ]
    > I then pass a reference to p_MyObject as follows:
    > myClassTwo.FunctionOne(&p_MyObject);
    >

    You are not, you are passing the address of the pointer. Just pass it
    on through if all of your functions take a MYOBJECTTYPE*.

    --
    Ian Collins.
     
    Ian Collins, Jan 14, 2007
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sam pal
    Replies:
    3
    Views:
    567
    E. Robert Tisdale
    Jul 16, 2003
  2. jimjim
    Replies:
    16
    Views:
    852
    Jordan Abel
    Mar 28, 2006
  3. A
    Replies:
    7
    Views:
    644
  4. Victor \Zverok\ Shepelev

    RDOC: several related modules in several C files

    Victor \Zverok\ Shepelev, Mar 6, 2007, in forum: Ruby
    Replies:
    3
    Views:
    188
    Max Lapshin
    Mar 16, 2007
  5. ThunStorm
    Replies:
    0
    Views:
    100
    ThunStorm
    Feb 15, 2006
Loading...

Share This Page