報錯情況:使用ue4.27 Slate編寫Widget時想透過獲取Worl(透過本地PlayerController獲取)來實現“設定定時任務為在音樂結束後自動觸發函式”的功能
ps:定時執行函式程式碼
解決方法:
使用GWorld替換掉透過第0號PlayerController獲取世界
原因分析:(由於本人校驗較少,暫做以下估計)在進行地圖切換的時候,PlayerController因在GWorld之後初始化,導致透過PlayerController獲取GWorld時會因初始化順序問題導致野指標訪問問題。而自帶的GWorld屬性的定義為extern ENGINE_API class UWorldProxy GWorld;,extern將導致他會預先被宣告,以便於後續處理是否可使用(nullptr)時發揮作用,阻止非法資料訪問的問題。