C/C++新手的编译问题undeclared identifier
C/C++新手,总出现这样的错误。
C:\Program Files\Microsoft Visual Studio\MyProjects\fun\mulit_MAT_VEC1.cpp(89) : error C2065: 'T' : undeclared identifier
mulit_MAT_VEC1.cpp(89) : error C2065: 'Wepp' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(89) : error C2065: 'Wiep' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(92) : error C2065: 'Init_Q' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(94) : error C2065: 'Q' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(102) : error C2065: 'Init_V' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(103) : error C2065: 'C' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(103) : error C2065: 'V' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(104) : error C2065: 'Init_C' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(105) : error C2065: 'Wie' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(106) : error C2065: 'h' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(108) : error C2065: 'Angl' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(108) : error C2065: 'alpha' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(111) : error C2065: 'POS' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(372) : error C2065: 'fp' : undeclared identifier
fun\mulit_MAT_VEC1.cpp(544) : error C2065: 'WIEP' : undeclared identifier
执行 cl.exe 时出错.
部分源程序:
void main()
{
double LAT=45*RAD;
double t1=0.01;
double t2=4*t1;
int I=0;
Initial();
{
int m,n;
double Wf[18];
double Wibb1[3],Wibb2[3],Wibb3[3],fb[3];
double Wpbb1[3],Wpbb2[3],Wpbb3[3];
FILE *ffp;
if((ffp=fopen("client.dat","r"))==NULL)
{printf("File could not be opened\n");}
else
{
while(!feof(ffp));
{
I=I+1;
for(m=0;m<18;m++)
{
fread(&Wf[m],8,1,ffp);
for(n=0;n<3;n++)
{
Wibb1[0+n]=Wf[3+n];
Wibb2[0+n]=Wf[9+n];
Wibb3[0+n]=Wf[15+n];
fb[n]=Wf[n];
}
}
calcWPBB(Wpbb1,Wibb1,T,Wepp,Wiep);//姿态速率的计算;
calcWPBB(Wpbb2,Wibb2,T,Wepp,Wiep);
calcWPBB(Wpbb3,Wibb3,T,Wepp,Wiep);
updateQ(Wpbb1,Wpbb2,Wpbb3,Init_Q,t1);//四元数Q的即时修正
if (I%8==0)
{unitQ(Q); }//四元数Q的归一化
else
{
calaT(Q,T); //矩阵T的计算
convacce(T,fp,fb);
}//加速度的坐标转换
if (I%4==0)
{
updateVp(fp,Wiep,Wepp,Init_V,t2);
calaWEPP(C,V);
updateC(Init_C,C,Wepp,t2);
calaWIEP(Wiep,C,Wie); //地球速率的计算
calcG(C,h); //计算重力加速度g的初始值
if (I%8==0)
calczitai(Angl,T,alpha); //姿态计算
else
{
calapos(POS,C);//位置计算
calcV(V);//计算地速
}
}
}
fclose(ffp);
}
}
}
void updateVp(double fp[3],double Wiep[3],double Wepp[3],double Init_V[3],double t2)
{
double KV[3];
double V[3];
double g[3];
double WW[3][3];
double WV[3];
double GWV[3];
double t2KV[3];
WW[0][0]=0;
WW[0][1]=2*Wiep[2];
WW[0][2]=-(2*Wiep[1]+Wepp[1]);
WW[1][0]=-2*Wiep[2];
WW[1][1]=0;
WW[1][2]=2*Wiep[0]+Wepp[0];
WW[2][0]=2*Wiep[1]+Wepp[1];
WW[2][1]=-2*Wiep[0]+Wepp[0];
WW[2][2]=0;
g[0]=0;
g[1]=0;
g[2]=9.8;
//一阶欧拉法
mulit_MAT_VEC2(WV,WW,Init_V);
add_VECTOR1(GWV,g,WV);
sub_VECTOR1(KV,fp,GWV);
mulit_NUM_VEC2(t2KV,t2,KV);
add_VECTOR1(V,t2KV,Init_V);
Init_V[3]=V[3];
}