二元运算符 += 不能应用于 'UnsafeMutablePointer<UInt8>?' 和 'Int' 类型的操作数
binary operator += cannot be applied to operands of type 'UnsafeMutablePointer<UInt8>?' and 'Int'
在进行 Swift 转换时,出现错误:
binary operator += cannot be applied to operands of type 'UnsafeMutablePointer?' and 'Int'
我的代码:
var avpkt = AVPacket()
var p : UnsafeMutablePointer<UInt8>? = nil
avpkt.data = UnsafeMutablePointer<UInt8>(mutating: inbuf)
p = avpkt.data
p += Int(avpkt.size) // error at this line
p
是一个 可选值 。您应该以安全的方式增加它。
正如 所建议的那样,您可以简单地执行以下操作:
p = p.map { [=10=] + Int(avpkt.size) }
在进行 Swift 转换时,出现错误:
binary operator += cannot be applied to operands of type 'UnsafeMutablePointer?' and 'Int'
我的代码:
var avpkt = AVPacket()
var p : UnsafeMutablePointer<UInt8>? = nil
avpkt.data = UnsafeMutablePointer<UInt8>(mutating: inbuf)
p = avpkt.data
p += Int(avpkt.size) // error at this line
p
是一个 可选值 。您应该以安全的方式增加它。
正如
p = p.map { [=10=] + Int(avpkt.size) }