这是我的代码。
var frameCount = INT_MAX
...
let totalSize: UInt32 = 4096
let itemSize: UInt32 = 64
frameCount = totalSize / itemSize
我得到"二元运算符' /'无法应用于两个UInt32'操作数"错误信息。 这真的不可能或我错过了什么?
答案 0 :(得分:3)
错误消息有点误导。 Function Invert (ch:string) : string;
begin
if ch='' then
Invert:=''
else
Invert:=copy(ch,length(ch),1)+Invert(copy(ch,1,length(ch)-1));
end;
定义为
INT_MAX
所以
public var INT_MAX: Int32 { get }
var frameCount = INT_MAX
被定义为frameCount
类型的变量。
除法Int32
的结果是totalSize / itemSize
但是,Swift并没有隐式转换类型。
您可以通过将初始定义更改为
来解决此问题UInt32
或者更简单,让编译器推断出类型:
var frameCount = UINT32_MAX
如果您需要将结果作为有符号整数,那么您必须这样做 明确地转换它,例如
let totalSize: UInt32 = 4096
let itemSize: UInt32 = 64
let frameCount = totalSize / itemSize