奇怪的问题,关于有类型的常量和数组

梦想家大魔王 2005-03-19 02:54:43
...
const
BufferSizeA = 512; //无类型常量
BufferSizeB: Word = 512; //有类型常量

var
BufferA: array [0..BufferSizeA - 1] of Char; //编译通过
BufferB: array [0..BufferSizeB - 1] of Char; //Error: Constant expression expected

BufferSizeB 可以赋值给变量,可以参与表达式比较,但就是不能用于声明数组的长度。
我用的是 Delphi 6,看开发人员指南上面说可以给常量指定类型的,可为什么不能用来声明数组呢?
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦想家大魔王 2005-03-21
  • 打赏
  • 举报
回复
呵呵,还是知其然而不知其所以然啊。算啦,等以后哪天有空去翻翻Borland的技术资料看看有没有相关的解释,结帖!
fanhongbin 2005-03-20
  • 打赏
  • 举报
回复
Word-->Integer 试试
梦想家大魔王 2005-03-20
  • 打赏
  • 举报
回复
再顶,看看到底怎么回事。
bjbs_vb 2005-03-20
  • 打赏
  • 举报
回复
你说得对,有类型常量和无类型常量是不同的,DELPHI实现机制也不一样,道理可理解,原因太复杂。
理解性记住就好了。
xiaoyaozgc 2005-03-19
  • 打赏
  • 举报
回复
在D7中也是如此,帮你顶
梦想家大魔王 2005-03-19
  • 打赏
  • 举报
回复
自己顶!如果不是我的设置上的问题,那就是 Delphi 编译器还没有真正把有类型常量当常量对待,嘿嘿。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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