在一个类中定义的函数调用了另一个类中定义的静态变量,出现链接错误
大家好!
我在一个类中定义的函数调用了另一个类中定义的静态变量,出现链接错误:
error LNK2019: unresolved external symbol "public: double __thiscall CBeginPrecast::Precast(double,double,double,double)" (?Precast@CBeginPrecast@@QAENNNNN@Z) referenced in function "public: void __thiscall CBeginPrecast::OnBnClickedOK(void)" (?OnBnClickedOK@CBeginPrecast@@QAEXXZ) BeginPrecast.obj
程序描述如下:
首先,我定义了主对话框类class Cmy_ann02Dlg : public CDialog ,在其中定义了静态变量:
static double v_final[4][3],w_final[3],zita_final[3],gama_final; 之后又在其Cmy_ann02Dlg.cpp中
对他们初始化了。程序运行时,会把处理结果赋给这些静态变量,这些静态变量要给子对话框类中的函数调用的。
接着,我定义了子对话框类class CBeginPrecast : public CDialog ,在其中定义了一个函数:
double Precast(double x1,double x2,double x3,double x4) //该函数要使用主类中的静态变量
{
double v[4][3]; //
double w[3]; //
double zita[3]; //
double gama; //
double U,I[3],O[3],y_real;
//提取此时的权值、阈值
int m=0;
for (m=0;m<3;m++)
{
v[0][m]=Cmy_ann02Dlg::v_final[0][m];
v[1][m]=Cmy_ann02Dlg::v_final[1][m];
v[2][m]=Cmy_ann02Dlg::v_final[2][m];
v[3][m]=Cmy_ann02Dlg::v_final[3][m];
w[m]=Cmy_ann02Dlg::w_final[m];
zita[m]=Cmy_ann02Dlg::zita_final[m];
}
gama=Cmy_ann02Dlg::gama_final;
…………………………………………
}
最后,在子对话框类中的void CBeginPrecast::OnBnClickedOK()函数中调用了Precast函数以获取结果。
请问:我这里的Precast函数中使用了静态变量是不是出错了?
恳请大家指点一番,谢谢……