求助:请问我错在哪里了?

Dingo1981 2003-05-25 11:23:35
一个函数:
# include <iostream.h>
# include <stdio.h>

void main()
{
double * data;
data=new double[10][10];
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
data[i][j]=i*j;
}
}
cout<<"DATA"<<endl;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(i%10==0)
cout<<endl;
else
cout<<data[i][j]<<" ";
}
}
}

}

编译告诉我如下错误:
C:\test\test.cpp(7) : error C2440: '=' : cannot convert from 'double (*)[10]' to 'double *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

问题出在 data=new double[10][10];
请问这是怎么回事?我觉得这里并没有错,望指教。
...全文
40 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mahu213 2003-05-25
  • 打赏
  • 举报
回复
不是的!
double** data;
是一个指向*data指针的指针啊!
关于帖主的问题我同意
maxcai的说法
liotion 2003-05-25
  • 打赏
  • 举报
回复
二维数组的数组名是二维指针
是否应该是
double** data;
是否?
rainbow1332 2003-05-25
  • 打赏
  • 举报
回复
同意
  • 打赏
  • 举报
回复
C++是不允许这样直接给二维数组new的
如何做呢?其实这个问题经常有人问,所以你在FAQ里可以找到答案的
当年这个帖子还被顶置过的,不知道还有没人记的:)
maxcai 2003-05-25
  • 打赏
  • 举报
回复
应写为
double (*data)[10]
maxcai 2003-05-25
  • 打赏
  • 举报
回复
double * data
data是指向一维数组的指针
passor 2003-05-25
  • 打赏
  • 举报
回复
I think maxcai is right!
bm1408 2003-05-25
  • 打赏
  • 举报
回复
agree maxcai!

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧