读书人

OUT 使用的有关问题

发布时间: 2011-12-23 23:32:01 作者: rapoo

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=....

读书人网 >C#

热点推荐