OUT 使用的问题
下面的函数怎么总是提示错误信息
:控制离开当前方法之前必须对输出参数“T”赋值
请问应该怎么改? 谢谢!
public void PT_DIST(int n,double Q,out double T)
{
double PIS,DFR2,C;
double Q2,p,YQ,E;
double GA1,GA2,GA3;
double T0,pp,d;
int K;
double PI=3.14159265359;
PIS=Math.Sqrt(PI);
DFR2=n/2.0;
if(n==1)
{
T=Math.Tan(PI*(0.5-Q));
}
if(n==2)
{
if(Q> 0.5)
{C=-1;}
else
{C=1;}
Q2=(1-2*Q)*(1-2*Q);
T=Math.Sqrt(2*Q2/(1-Q2))*C;
}
p=1-Q;
PNorm(Q,out YQ);
E=(1-1/(4*n))*(1-1/(4*n))-YQ*YQ/(2*n);
if(E> 0.5)
{T0=YQ/Math.Sqrt(E);}
else
{
lnGamma(DFR2,out GA1); lnGamma(DFR2+0.5,out GA2);
GA3=Math.Exp((GA1-GA1)/n);
T0=Math.Sqrt(n)/Math.Pow(PIS*Q*n,1.0/n)/GA3;
}
for(K=1;K <30;K++)
{
T_Dist(n,T0,out pp,out d);
if(d==0)
{
T=T0;
break;
}
T=T0-(pp-p)/d;
if(Math.Abs(T0-T) <0.000001*Math.Abs(T))
{break;}
else
{T0=T;
}
}
}
------解决方案--------------------有些情况 T没赋值
在开头
T=0;
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070130
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------有些情况 T没赋值
也可以在else 中T=....