类的一个成员变量,声明为 double** w_h_i;
调试的时候变量窗口如下所示:
-w_h_i 0x00b04390
-0x00b043d8
- -0.061922..
变量已经初始化并赋值,为什么不能显示出数组的各个成员呢?
请问这是正常的吗?
为什么在某个成员函数中return w_h_i[i][j]取不出其中的值呢?
谢谢
调试的时候变量窗口如下所示:
-w_h_i 0x00b04390
-0x00b043d8
- -0.061922..
变量已经初始化并赋值,为什么不能显示出数组的各个成员呢?
请问这是正常的吗?
为什么在某个成员函数中return w_h_i[i][j]取不出其中的值呢?
谢谢
M 是 第一维的稚 , 你没有给出定义的时候 最好给出
二维数组分配在连续的空间中,而指针数组分配的是不连续的空间。自然不能相等来对待
w_h_i=new double*[Nh+1];
for(int i=0;i<Nh+1;i++)
w_h_i[i]=new double[Ni+1];其中Nh,Ni都是已赋值的成员变量
请问怎样取出其中的一个值?谢谢
为什么赋值的时候可以w_h_i[i][j]=...呢?
pp=new int*[2]; for(int i=0;i<2;i++)
pp[i]=new int[2]; for(i=0;i<2;i++)
for(int j=0;j<2;j++)
pp[i][j]=a[i][j];
class myClass
{
public: void InitArray();
void Run();
double getw_h_i(int i,int j);
double** w_h_i; private:
double** w0_h_i;
}void myClass::InitArray()
{
w_h_i=new double*[Nh+1]; //Nh Ni已知
for(int i=0;i<Nh+1;i++)
w_h_i[i]=new double[Ni+1]; w0_h_i=new double*[Nh+1];
for(i=0;i<Nh+1;i++)
w0_h_i[i]=new double[Ni+1];
}double myClass::getw_h_i(int i,int j)
{
return w_h_i[i][j];
}void myClass::Run()
{
InitArray();
for(int i=0;i<Nh+1;i++)
for(int j=0;j<Ni+1;j++)
{
w0_h_i[i][j]=rand()*2.0/32767.0-1;
w_h_i[i][j]=w0_h_i[i][j];
}
}