我想使用變量創建特定大小的數組,但據稱唯一的方法是使用指針。如何取消引用數組元素(C++)
int size = 5;
string* myArray = new string[size];
我現在想分配一個元素從這個數組到另一個變量,我相信只能通過解引用來工作。下面的代碼行不起作用。我如何解決它?
string line;
myArray[0] = "Hello";
line = *myArray[0];
編輯:
我只是想澄清一些:如果在正常的 「myArray的[0]」 代碼也不起作用。它編譯,但導致崩潰。以下是關於我想要做什麼的一些更具體的代碼。
void MyClass::setLine(string line)
{
myLine = line; /*This is a private variable in MyClass*/
}
///////////////
MyClass* elements = new MyClass[size];
elements[0].setLine(myArray[0]);
我想給數組元素分配從類私有變量,但是當我嘗試值分配給私有變量的程序崩潰。
'line = myArray [0];'我強烈建議你使用'vector myArray(size);'而不是因爲它會刪除自己的內存。 –
2014-11-04 17:27:32
...或者如果你有一個固定大小,改用'std :: array'。 –
2014-11-04 17:29:43
你可能會說「給出編譯錯誤」並粘貼錯誤信息而不是說「不起作用」。對於這個簡單的問題,這並不重要,但它通常是一種有用的做法。 – anatolyg 2014-11-04 17:30:04