C++にて繰り返しファイルを読み込み、変数に格納して処理を行う、という関数を定義しているのですが、この関数を実際に使用した際、数ファイルを読み込んだ段階でエラーが発生して困っております。
std::bad_allocによるもので、メモリの確保に失敗した場合に出るエラーとの事ですが、C++においてファイルを繰り返し読み込んで変数に格納する際は、その変数についてメモリの解放を行う必要があるということなのでしょうか?
また、どのような命令を利用すれば良いのでしょうか?
以下、コードです。
Inputfiles内にファイルのリストを記述しており、順番に読み込んで処理を行う仕様です。
数ファイルを読み込み、次に新しくファイルを読み込もうとした段階でおそらくメモリが不足し、エラーが発生しているように見えます。
--追記--
ファイルリストB
a
b
c
d
において、dを読み込んだ際にエラーが出る場合、
ファイルリストA
a
a
a
b
c
d
a~dはVectorファイルです。
においてもdを読み込んだ際にエラーが出てしまう模様です。
データの種類が増えることに問題があるのでしょうか。
C++
1void FileReader::ReadVectors() 2{ 3 for (std::size_t i = 0; i < Params.InputFiles.size(); i++) { 4 std::cout << "Reading files [" << i << "/" 5 << InputFiles.size() << "] " 6 << InputFiles.at(i) << std::endl; 7 LogVector LogArcVector(*LogVector::Read(InputFiles.at(i))); 8 ・・・
差し支えなければLogVector型の詳細とLogVector::Read関数の内容を提示していただけますか?
回答1件
あなたの回答
tips
プレビュー