(我不是張貼我的代碼,因爲這是一個項目,但是我試圖讓這個問題的幫助,但有沒有運氣)動態內存分配初始化在C++類
您好,我是試圖初始化一個指針數組的大小(char*
)這是我的類的私有成員變量class A
我使用構造函數來設置一個整數變量(也是一個成員變量)來設置大小然後用來創建我的指針數組。
我有這個迄今所做的:
// Constructor - 'int value' is set to a value
private:
int value;
char ** myArray = new char*[value];
所以基本上我想要的指針,其中每個元素可以指向一個字符串數組。我傳遞字符串變量myArray
使用(char*
)stringVar.c_str();
雖然所有的這個作品,我想存儲變量時,得到了一些非常奇怪的錯誤,甚至已經得到了這個錯誤:
free(): invalid next size (fast)
這是奇怪,因爲即使myArray
是大小爲4,當我嘗試訪問,比如說,第3元,我得到了同樣的錯誤如上。
我很新的C++和我解決了這些問題很意圖。我不得不求助於這個論壇尋求幫助,並期待着來自你們的一些想法:)
使用'的std ::矢量'似乎更好。 –
Jarod42
您可能試圖釋放不是由malloc的分配的指針(或刪除不是由新創建的對象),或者您可能試圖釋放/刪除這樣一個對象不止一次。 –
我懷疑編譯器不喜歡「new char * []」位。爲什麼不嘗試類似:「char * myArray = new char [value];」 – 2015-08-15 12:43:46