1,QList<phy_simulator*> pList;為空不能append()追加,要先new,再用
QList<phy_simulator> pList為空時,確實不能調用 append() 方法。原因很簡單,QList 是一個類對象,在 C++ 中,指針本身并不代表它指向的對象。因此,當你有一個指向 QList<phy_simulator> 類型的指針時,必須確保它指向一個有效的 QList 實例。
關鍵問題:
如果 pList是 nullptr(空指針),那么你嘗試調用 append() 時,程序會崩潰,因為 nullptr 沒有實際的內存空間來執行任何操作。
解決方法:
在使用指針之前,應該確保該指針已經指向了一個有效的 QList<phy_simulator*> 實例。通常,你可以通過 new 操作符來創建一個實例,或者如果是局部變量,可以直接創建它。
示例代碼:
- 通過 new 動態分配內存
QList<phy_simulator*> pList= new QList<phy_simulator>();
phy_simulator *infactModule = new phy_simulator();
pSimulatorDataQList->append(infactModule); // 現在可以成功調用 append()
在這種方法中,你通過 new 分配了 QList 的內存,這樣 pSimulatorDataQList 就指向了一個有效的 QList 實例,可以調用 ap