0
我是C++中的一名初學者,他對動態數組感到困惑。我在這個網站上找到了一種方法,但我似乎無法使它在對象中的「數組對象」中工作。當我讀取Rec變量時它總是中斷。如何分配「對象數組」的指針(C++)
這是類定義:
class AlcXIO {
private:
AlcX_IO_Record* Rec[1];
int _Count;
public:
int count();
void Init(CL_DisplayWindow window);
void AddInput(int IO_ID);
AlcX_IO_Record* GetRec(int RecID);
void on_input_down(const CL_InputEvent &key, const CL_InputState &state);
void on_input_up(const CL_InputEvent &key, const CL_InputState &state);
};
的AddInput()函數:
void AlcXIO::AddInput(int IO_ID) {
size_t newSize = this->_Count +1;
AlcX_IO_Record* newArr = new AlcX_IO_Record[newSize];
memcpy(newArr, Rec, _Count * sizeof(AlcX_IO_Record));
_Count = newSize;
delete [] Rec;
Rec[0] = newArr;
}
我知道,我可能是錯的:Rec[0] = newArr
但將其更改爲Rec = newArr
給我一個錯誤:「表達式必須是可修改的左值」
歡迎任何解決方案,謝謝。
它給我的「錯誤C2229:類‘AlcXIO’具有非法零大小的數組」 :( 編輯:將其更改爲'AlcX_IO_Record *建議;'給了我另一個錯誤「錯誤C2100:非法的間接尋址」 –
你 –
將其更改爲'AlcX_IO_Record * Rec;'在REC = newArr上給我另一個錯誤「錯誤C2100:非法間接尋址」 –