首页 > 编程语言 > 详细

swift结构体不能有递归包含它的存储属性,cannot have a stored property that recursively contains it

时间:2020-08-29 11:17:56      阅读:184      评论:0      收藏:0      [点我收藏+]

swift结构体不能有递归包含它的存储属性,cannot have a stored property that recursively contains it

struct Dog {
    var name: String
    
    var son: Dog
}

struct Student {
    var p : Person?
    
}
struct Person {
    var name :String
    var son: Student?
    
}

以上代码都会报错,

原因:

 结构体是值类型,创建结构体需要再栈去开辟空间,如果包含循环的结构体属性,将无法开辟内存空间(无限循环开辟空间)

 A开辟空间,A里的B再开辟空间,A里的B里的A再开辟空间。。。。

 

swift结构体不能有递归包含它的存储属性,cannot have a stored property that recursively contains it

原文:https://www.cnblogs.com/duzhaoquan/p/13581370.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!