我希望有以下内容:
TEnumType = (
etValue1 = 1,
etValue2 = 2 deprecated,
etValue3 = 3);
它返回:
[DCC Error] unt_CollectionImportType.pas(19): E2029 ',' or ')' expected
but identifier 'deprecated' found.
有没有一种方法可以告诉编译器这个值已经过时了。
我希望有以下内容:
TEnumType = (
etValue1 = 1,
etValue2 = 2 deprecated,
etValue3 = 3);
它返回:
[DCC Error] unt_CollectionImportType.pas(19): E2029 ',' or ')' expected
but identifier 'deprecated' found.
有没有一种方法可以告诉编译器这个值已经过时了。
type
TEnumType = (
etValue1 = 1,
etDeprecated2 = 2, // was: etValue2; Renamed so we can deprecate it by name
etValue3 = 3);
const
etValue2 = etDeprecated2 deprecated; // Declares a constant mapped to the renamed enum value.
TEnumType = (etZero, etOne, Two)
)时,您不能/不应该从列表中删除一个值,尤其是当您在其他地方存储相应的数字值时。那时候只有重命名是唯一的选择。我同意别名不是必需的,但它确实提供了有用的警告,而不仅仅是关于标识符未被声明的错误消息。 - Marjan Venema