首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi中的集合与在D7中的工作方式不同

Delphi中的集合与在D7中的工作方式不同
EN

Stack Overflow用户
提问于 2011-07-08 12:42:00
回答 2查看 593关注 0票数 7

我在Delphi 7程序中有这个常量。他们没有在Delphi下编译。

代码语言:javascript
复制
TYPE
  TSingleChar= AnsiChar;

CONST
  noData: TSingleChar= '.';
  Ambiguity= ['x'];
  DNA_Ambig= ['x', noData]+ Ambiguity;

DCC错误E2026常量表达式。

  1. 在XE中更改了什么,而我的旧代码没有编译呢?
  2. --我想这段代码被解释为Unicode。我说的对吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-08 13:06:41

“修正”是这样的:

代码语言:javascript
复制
TYPE
  TSingleChar= AnsiChar;

CONST
  Const_noData = '.';
  noData: TSingleChar= Const_noData;
  Ambiguity= ['x'];
  DNA_Ambig= ['x', Const_noData]+ Ambiguity;

就编译器而言,Const_noData是一个真正的const,允许您使用它初始化noDataDNA_Ambig。你仍然尊重干原理,即noData只有一个定义,那就是Const_noData

票数 8
EN

Stack Overflow用户

发布于 2011-07-08 12:55:17

代码语言:javascript
复制
const
  Ambiguity:  TAnsiCharSet = ['B', 'D', 'H'];
  Ambiguity2: TAnsiCharSet = ['C', 'c', 't'] + Ambiguity;

不管用。

代码语言:javascript
复制
const
  Ambiguity = ['B', 'D', 'H'];
  Ambiguity2 = ['C', 'c', 't'] + Ambiguity;

确实有用。类型常量根本就不是常量.

(请注意,这个问题与歧义无关。它是关于什么是常数,什么不是常数。)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6624574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档