定义常量数组定义
Define const array definition
我正在使用 XE6 版本的 embarcadero 并试过这个:
const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');
错误:应为“;”找到'='
还有这个:
Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];
错误:类型 'TArray' 尚未完全定义
如何定义这个数组?
const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');
这段代码是正确的,可以编译。您报告的编译错误是针对另一段代码的,问题中没有。
Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];
XE7 中引入了常量动态数组。它们在 XE6 中不可用。所以这段代码无法编译。您为第二个代码摘录报告的错误消息也与问题中的代码不匹配。此代码导致此错误:
E2001 Ordinal type required
所以,我对你的主要建议是在工作中多加注意。发布与您提供的代码不匹配的错误消息表明存在一定程度的混乱。走得慢一点。检查再检查。
顺便说一句,我建议您更喜欢从零开始的数组索引。所以我会这样写:
const
ElementCount = 2;
SUPPORTED_EXTENSIONS: array [0 .. ElementCount-1] of String = ('.jp2', '.j2k');
我正在使用 XE6 版本的 embarcadero 并试过这个:
const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');
错误:应为“;”找到'='
还有这个:
Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];
错误:类型 'TArray' 尚未完全定义
如何定义这个数组?
const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');
这段代码是正确的,可以编译。您报告的编译错误是针对另一段代码的,问题中没有。
Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];
XE7 中引入了常量动态数组。它们在 XE6 中不可用。所以这段代码无法编译。您为第二个代码摘录报告的错误消息也与问题中的代码不匹配。此代码导致此错误:
E2001 Ordinal type required
所以,我对你的主要建议是在工作中多加注意。发布与您提供的代码不匹配的错误消息表明存在一定程度的混乱。走得慢一点。检查再检查。
顺便说一句,我建议您更喜欢从零开始的数组索引。所以我会这样写:
const
ElementCount = 2;
SUPPORTED_EXTENSIONS: array [0 .. ElementCount-1] of String = ('.jp2', '.j2k');