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