函数参数const类型问题

求教啊,菜鸟一枚。

 TestLineLine( const GO_Line &A, const GO_Line &B )
 {
     double mpt1[3],mpt2[3];
     int posi_11, posi_12, posi_21, posi_22 ;
     SegmentSegmentPosition Posi_Ss ;
     double zero_error =ZERO_ERROR_FAULT; 
     Posi_Ss = (SegmentSegmentPosition)segmentSegment(A.pts[i-1].xyz, A.pts[i].xyz, B.pts[j-1].xyz, B.pts[j].xyz, zero_error,mpt1, &posi_11, &posi_12, mpt2, &posi_21, &posi_22 );
}

出现的问题是:
f:\工作文件\workspace\geometryobject\geometryobject\gofunction.cpp(633) : error C2664: 'segmentSegment' : cannot convert parameter 1 from 'const double [3]' to 'double []'
Conversion loses qualifiers

主要是我的_segmentSegment_函数里的参数没有一个是const类型的,难道我在_TestLineLine_函数中申明的两个const变量会影响函数体内普通变量mpt的定义么?

人家说的是不能把const double转为double,并不是double转const double,你说反了,你在用的时候声明两个double类型,吧const double 重新复制一份给double,不就行了!

double a1[3],a2[3], b1[3], b2[3];
                        for ( int ic = 0 ; ic<3 ; ic++ )
                        {
                            a1[ic] = A.pts[i-1].xyz[ic];
                            a2[ic] = A.pts[i].xyz[ic];
                            b1[ic] = B.pts[j-1].xyz[ic];
                            b2[ic] = B.pts[j].xyz[ic];
                        }
                        Posi_Ss = (SegmentSegmentPosition)segmentSegment(a1, a2, b1, b2, zero_error,
                            mpt1, &posi_11, &posi_12, mpt2, &posi_21, &posi_22 );

函数改成这样就ok了。