Пожалуйста, инициализируйте pNext, когда вы его создадите. Это может быть NULL сейчас, когда вы отлаживаете, но в поле это будет 0x12AbD468 или что-то в этом роде. Если у вас есть тест, как:
if( NULL != pNext )
{
pNext->DoSomething();
}
... и ваша программа взорвется, пользователи разозлятся, позвонят в службу поддержки и каким-то образом получат добавочный номер вашего телефона, позвонят вам напрямую и дадут вам шутку.
В вашем случае, так как 'func1 ()' не использует pNext в качестве параметра, вы можете просто вернуть его из функции:
func()
{
Object *pNext = func1();
}
Object* func1()
{
return Segment->GetFirstPara(0);
}