double CSpaceResectionDlg::Init_X_Value(double *init_X)
{
double initalfa;
double initw;
double initk; double initXS = (m_nXA+m_nXB+m_nXC+m_nXD)/4;
double initYS = (m_nYA+m_nYB+m_nYC+m_nYD)/4;
double initZS = m_nf*(1/m_nscale);
return (double*)init_X[initXS,initYS,initZS,initalfa,initw,initk];
} 我想建一个返回数组的函数,数组是init_X[initXS,initYS,initZS,initalfa,initw,initk];可是出错了
F:\2008-2009自己的程序\SpaceResection\SpaceResectionDlg.cpp(544) : error C2108: subscript is not of integral type
F:\2008-2009自己的程序\SpaceResection\SpaceResectionDlg.cpp(544) : error C2440: 'return' : cannot convert from 'double *' to 'double'
There is no context in which this conversion is possible
{
double initalfa;
double initw;
double initk; double initXS = (m_nXA+m_nXB+m_nXC+m_nXD)/4;
double initYS = (m_nYA+m_nYB+m_nYC+m_nYD)/4;
double initZS = m_nf*(1/m_nscale);
return (double*)init_X[initXS,initYS,initZS,initalfa,initw,initk];
} 我想建一个返回数组的函数,数组是init_X[initXS,initYS,initZS,initalfa,initw,initk];可是出错了
F:\2008-2009自己的程序\SpaceResection\SpaceResectionDlg.cpp(544) : error C2108: subscript is not of integral type
F:\2008-2009自己的程序\SpaceResection\SpaceResectionDlg.cpp(544) : error C2440: 'return' : cannot convert from 'double *' to 'double'
There is no context in which this conversion is possible
是double类型 你再强制转化成double*编译器就给你错误了
返回一个指针即可.
{
double initalfa;
double initw;
double initk; double initXS = (m_nXA+m_nXB+m_nXC+m_nXD)/4;
double initYS = (m_nYA+m_nYB+m_nYC+m_nYD)/4;
double initZS = m_nf*(1/m_nscale); init_X[0] = initXS;
init_X[1] = initYS;
init_X[2] = initZS;
init_X[3] = initalfa;
init_X[4] = initw;
init_X[5] = initk; return init_X;
}