Quote Originally Posted by galapogos View Post
Hi,

I'm trying to pass a pointer to a function, and then have the function allocate some memory for that pointer. Is this possible?
Yes it is possible. The problem you're having is that you are changing the value of a temporary within a function.

When you pass a parameter by value, the function makes a temporary copy. When that function returns, that temporary is gone. A pointer is nothing but a value you're passing, and the same rules apply.

To change a parameter value and have it reflect back to the caller, you either pass a pointer to the variable, or a reference to the variable. So you either pass a pointer to the pointer, or a reference to the pointer.
I tried the following code, but doesn't seem to work.
Just like this code won't work:
Code:
void foo(int x)
{
    x = 10;
}

int main()
{
   int p = 0;
   foo( p );
   // p is still 0.  Why isn't it 10?
}
Same principle.

Regards,

Paul McKenzie