我想用動態數組編寫我的第一個真正的程序,但我遇到了一個我無法理解的問題。基本上,我正在嘗試使用動態數組,將其複製到臨時數組中,然後再向原始數組中添加一個地址,然後將所有內容都複製回原始數組。現在原來的數組有比以前多一個地址。這在嘗試使用整數時非常有效,但字符串會使我的程序崩潰。下面是我與掙扎的代碼示例:分配一個新的字符串崩潰?
void main()
{
int x = 3;
std::string *q;
q = new std::string[x];
q[0] = "1";
q[1] = "2";
q[2] = "3";
x++;
std::string *temp = q;
q = new std::string[x];
q = temp;
q[x-1] = "4";
for (int i = 0; i < 5; i++)
std::cout << q[i] << std::endl;
}
如果我是做q和溫度爲指針爲int,而不是字符串,那麼程序運行得很好。任何幫助將不勝感激,我一直堅持這一個小時或兩個小時。
比較'Q =新的std :: string [X]'和'Q =溫度;'...的'='號意味着在這兩種情況下 –