德尔福最大的错误或限制.常数整数值?
发布时间:2020-12-15 04:29:50 所属栏目:大数据 来源:网络整理
导读:参见英文答案 E2099 Overflow in conversion or arithmetic operation1个 const minDriveFreeSpace: Int64 = 1024*1024*1024*99; 和 var minDriveFreeSpace: Int64;begin minDriveFreeSpace := 1024*1024*1024*99; 会发出: [dcc32 Error] DataStoreLocator.
参见英文答案 >
E2099 Overflow in conversion or arithmetic operation1个
const minDriveFreeSpace: Int64 = 1024*1024*1024*99; 和 var minDriveFreeSpace: Int64; begin minDriveFreeSpace := 1024*1024*1024*99; 会发出: [dcc32 Error] DataStoreLocator.pas(92): E2099 Overflow in conversion or arithmetic operation 这是Delphi最大的错误还是限制.常数整数值? 解决方法
您需要在右侧将至少一个值强制转换为Int64.例如,这两个在XE6上编译得非常好:
const minDriveFreeSpace = Int64(1024) * 1024 * 1024 * 99; var minDriveFreeSpace2: Int64; begin minDriveFreeSpace2 := Int64(1024)*1024*1024*99; 请注意,它可以是任何一个施放的右值.例如,这也同样有效: const minDriveFreeSpace = 1024 * 1024 * 1024 * Int64(99); 这在Delphi language guide中有记录(虽然相当差) – 强调我的:
var I: Integer; J: Int64; ... I := High(Integer); J := I + 1;
... J := Int64(I) + 1; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |