Please initialize pNext when you instantiate it. It might be NULL now when you're debugging, but in the field it will be 0x12AbD468, or something. The if you have a test like:
if( NULL != pNext )
{
pNext->DoSomething();
}
...and your program will explode, users will get mad, call support and somehow get your phone extension, call you directly and give you an earful.
In your case, since 'func1()' doesnt use pNext as an in-parameter, you can simply return it from the function:
func()
{
Object *pNext = func1();
}
Object* func1()
{
return Segment->GetFirstPara(0);
}