繁体   English   中英

二进制运算符+ =不能应用于类型&#39;UnsafeMutablePointer的操作数 <UInt8> &#39; 和&#39;Int&#39;

[英]binary operator += cannot be applied to operands of type 'UnsafeMutablePointer<UInt8>?' and 'Int'

在进行Swift转换时,出现错误:

二进制运算符+ =不能应用于“ UnsafeMutablePointer?”类型的操作数 和'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 { $0 + Int(avpkt.size) } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM