首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

下面这段代码为什么是异常的

2012-02-15 
下面这段代码为什么是错误的?#include iostream.hstructMatrix{int**dataintmu,nu}Matrix*Creat(){Ma

下面这段代码为什么是错误的?
#include <iostream.h>
struct   Matrix
{
int   **data;
int   mu,nu;
};
Matrix   *Creat()
{
Matrix   *A=new   Matrix;
int   i,j;
cout < < "请输入行数: ";
cin> > A-> mu;
cout < < "请输入列数: ";
cin> > A-> nu;
                  A-> data=new   *int[A-> mu];             //这里有错
                  for(i=0;i <=nu;i++)                         //这里也有错
                                    A-> data[i]=new   int[A-> nu];
cout < < "请输入每行每列的数据(按先行后列的顺序): " < <endl;
for(i=1;i <=A-> mu;i++)
{
cout < < "请输入第 " < <i < < "行: " < <endl;
for(j=1;j <=A-> nu;j++)
{
cout < < "第 " < <j < < "列数据: ";
cin> > A-> data[i][j];
}
cout < <endl;
}
return   A;
}

为什么这里用NEW进行动态分配二维数组空间的时候会报错?

谢谢大家!


[解决办法]
A-> data=new *int[A-> mu]; //这里有错,改为 A-> data=new int*[A-> mu];
for(i=0;i <=nu;i++) //这里也有错,改为 for(i=0;i <=A-> nu;i++)
[解决办法]
// A-> data=new *int[A-> mu];
A-> data=new int * [A-> mu];
// for(i=0;i <=nu;i++)
// A-> data[i]=new int[A-> nu];
for(i=0;i < A-> nu; i++)
A-> data[i]=new int[A-> nu];

热点排行