传到指针参数出错

传入指针参数出错!
我有两个全局函数:Fun0、 Fun1;Fun1作为参数被Fun0调用。它们类似下面这样:
void Fun0( int A ,float* pB ,float* pC ,float* pD ,void(*Fun1)( float* pE ,float* pF ,float* pG) ) 
{
    .......
    .......
    Fun1 ( pB ,pC ,pD ) ;
}

void Fun1 ( float* pE ,float* pF ,float* pG)
{
    //pDD作为第三个参数传入就没有问题
}

主程序中有这么几个全局变量作为Fun0的参数:
int AA = 5 ;
float*  pBB = GetBBPointer();
float*  pCC = GetCCPointer();
float*  pDD = GetDDPointer();

这样执行:
Fun0 ( AA ,pBB ,pCC , pDD ,Fun1 ) ;
传入的pBB、pCC参数都正常,pDD传入后总提示它是“无效的指针”,我检查过,该指针没有问题;
甚至用正常的pBB、pCC代替pDD都不行,仍提示“无效的指针”。
但如果把pDD直接传入Fun1就没有问题。

各位大侠,以上现象问题可能出在哪里?请不吝赐教,特奉上100分略表心意。谢谢!

------解决方案--------------------
你把这两个函数声明+函数定义(定义只贴头部就可以了)都贴上来看看.
------解决方案--------------------
估计在 Func0 里面修改了参数。
------解决方案--------------------
这么细致的问题,代码必须上全了,或者至少上一个能体现问题的简化版本。现在只能猜了,GetDDPointer[0-3] 怎么返回的指针?