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


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再开辟空间。。。。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM