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