| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2732 人关注过本帖
标题:[求助]关于动态申请二维数组
只看楼主 加入收藏
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
 问题点数:0 回复次数:10 
[求助]关于动态申请二维数组

WORD* BufArry1;
WORD* BufArry2;

BufArry1=new WORD[Bound2];
BufArry2=new WORD[Bound1][Bound2]; //此处出错error C2540: non-constant expression as array bound

Bound1、Bound2都是Int型变量,其实就是动态申请数组,为什么一维不出错,而二维会出错呢?
怎么解决?

搜索更多相关主题的帖子: 动态 申请 
2006-04-29 11:16
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
我找到办法了,不知道对不对?

WORD ** BufArry;
BufArry=new WORD* [Bound1];
for(int i=0; i<Bound1; i++)
BufArry[i] = new WORD[Bound2];

。。。。。。

for(i=0; i<Bound1; i++)
delete[] BufArry[i];//能不能换成:delete BufArry[i];
delete[] BufArry;//能不能换成:delete BufArry;

请注意注释中的部分!谢谢关注!


2006-04-29 15:21
jedimaster
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2006-3-31
收藏
得分:0 
动态数组第二维必须是常量,你那样解决不如把值定大一点。
2006-04-29 21:48
jedimaster
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2006-3-31
收藏
得分:0 
delete数组必须用delete[]
2006-04-29 21:50
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

二楼的办法是正确的,因为那个贴子是我发的,注释那里不可以换。因为BufArry[i]里面的元素都是指向一行元素的指针,所以一定要 delete [] BufArry[i] ,第二个注释也一样


c++/C + 汇编 = 天下无敌
2006-04-29 23:31
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
以下是引用jedimaster在2006-4-29 21:48:00的发言:
动态数组第二维必须是常量,你那样解决不如把值定大一点。

谢谢你们!
有一点还不明白,值定大点不就浪费内存了吗?
我要申请最大为n×2048的WORD型二维数组,n的范围为1——10000


2006-04-30 15:52
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
以下是引用jedimaster在2006-4-29 21:48:00的发言:
动态数组第二维必须是常量,你那样解决不如把值定大一点。

他其实没在用数组而是直接对指针操作,所以第二维也随便。


http://myajax95./
2006-04-30 16:03
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
楼主这么作可以,不过看着满悬的,因为自己还得管理内存。最简单的方法是用STL的容器,如vector之类的。

http://myajax95./
2006-04-30 16:04
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 

谢谢everajax的热心帮助,我是初生牛犊不怕虎,呵呵
时间紧,先这么用,等学会了用
STL的容器,vector之类再修改!


2006-04-30 16:09
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
楼主写程序的功夫挺扎实的,这几行程序写的挺体现功夫。

http://myajax95./
2006-04-30 16:11
快速回复:[求助]关于动态申请二维数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034187 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved