标题:这哪儿错了?晕了
只看楼主
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
 问题点数:0 回复次数:8 
这哪儿错了?晕了

我写了一段程序,用VC编译,说以下有下划线的地方有错:
void HuffmanCodebuid (HuffmanTree HT,int n,int* Code)
{
int start,c,i,f;
char cd[n];
for(i=1;i<=n;++i)
{start=n-1;
for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent)//反向存入内存,得到正向Huffman编码
if(HT[f].lchild==c) cd[--start]="0";//左子是0,右子是1
else cd[--start]="1";

}
printf("%s\n",cd);
Compress(cd,n,start,Code);
free(cd);//释放工作空间
}

调试信息如下:
--------------------Configuration: Huffman - Win32 Debug--------------------
Compiling...
Huffman.cpp
D:\我的文档\数据结构\Huffman\Huffman.cpp(51) : error C2057: expected constant expression
D:\我的文档\数据结构\Huffman\Huffman.cpp(51) : error C2466: cannot allocate an array of constant size 0
D:\我的文档\数据结构\Huffman\Huffman.cpp(51) : error C2133: 'cd' : unknown size
D:\我的文档\数据结构\Huffman\Huffman.cpp(55) : error C2440: '=' : cannot convert from 'char [2]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:\我的文档\数据结构\Huffman\Huffman.cpp(56) : error C2440: '=' : cannot convert from 'char [2]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
执行 cl.exe 时出错.

Huffman.exe - 1 error(s), 0 warning(s)
我觉得对了阿,没错阿,为什么他说有错?请各位指教

搜索更多相关主题的帖子: 下划线 start 
2006-12-23 17:19
sillygirl
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-10-30
得分:0 

字符数组定义时可以用变量吗?

[此贴子已经被作者于2006-12-23 17:26:53编辑过]


2006-12-23 17:26
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
没用变量阿
n是从函数外传进来的一个整形常数
2006-12-23 17:35
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 
free(cd);我觉得你既然没有申请空间,又为什么要释放呢?一般上他都是和malloc一起使用的。

该学习了。。。
2006-12-23 17:42
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
哦,不好意思,我起初是用malloc来分配数组空间的 ,后来改成用char 声明,忘记删free了
2006-12-23 17:53
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
char cd[n];不能这样定义吧
char为字符型,cd[--start]="0";
else cd[--start]="1";/*""为字符串*/

2006-12-23 18:10
何必天才
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-12-15
得分:0 

字符数组定义时可以用变量吗?

不可以


我只会C和PC
2006-12-23 20:09
_sky_
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-12-23
得分:0 
我只学C,但是还没学完.
2006-12-24 14:29
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
以下是引用何必天才在2006-12-23 20:09:26的发言:

字符数组定义时可以用变量吗?

不可以

C++,C89不可以,C99可以


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-12-24 14:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-111556-1-1.html




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

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