動的に割り当てられた文字列配列のサイズを変更しようとしています。これがコードです!
void resize_array() {
size_t newSize = hash_array_length + 100;
string* newArr = new string[newSize];
fill_n(hash_array,newSize,"0"); //fills arrays with zeros
memcpy( newArr, hash_array, hash_array_length * sizeof(string) );
hash_array_length = newSize;
delete [] hash_array;
hash_array = newArr;
}
残念ながら、それは機能せず、セグメンテーション違反が発生します。理由はありますか?これは基本的に、要素が 0 がある場所に挿入される線形プローブ ハッシュ テーブルであるため、fill_n を使用して、新しく作成された配列を 0 で埋めます。助けてください?