var nc = __CLPK_integer(N)dgetrf_(&nc,&nc,!y,&ipiv,&info)
OverlapPing accesses to ‘nc’,but modification requires exclusive
access; consIDer copying to a local variable
关于如何解决这个问题的任何想法?
解决方法 这是 SE-0176 Enforce Exclusive Access to Memory的结果,它在Swift 4中实现:dgetrf _()的__m,__n和__lda参数具有类型
UnsafeMutablePointer<>,即使指向变量没有变异(但编译器不知道!)和
您将相同变量nc的地址传递给它们中的所有三个.
有两种可能的解决方案:附加变量副本:
var nc1 = nc,nc2 = ncdgetrf_(&nc,&nc1,&matrix,&nc2,&info)
或者withUnsafeMutablePointer,因为不安全的指针不使用任何主动执行:
withUnsafeMutablePointer(to: &nc) { dgetrf_(,,&info)}总结
以上是内存溢出为你收集整理的swift – 重叠访问指针全部内容,希望文章能够帮你解决swift – 重叠访问指针所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)