ベクトルへのポインターのベクトルがあります。
main(...)
{
//...
std::vector< std::vector<double> * > ds = getDS(...)
//...
}
std::vector<std::vector<double> * > getDS(int m, ...)
{
std::vector<std::vector<double> * > wavefunctions = *(new std::vector<std::vector<double>*>(m));
int n = int( params.rmax() / params.dr() );
std::ifstream input_wf;
input_wf.open(filename.c_str());
input_wf.setf(std::ios::showpoint | std::ios::scientific);
for(int i=0; i < nbasis; i++)
{
std::vector<double> *wf = new std::vector<double>(n);
//(wavefunctions[i]) = new std::vector<double>(n);
for (unsigned int ir=0; ir < wf->size(); ir++)
input_wf >> ( *wf )[ir];
wavefunctions.push_back(wf);
}
input_wf.close();
return wave functions;
}
wavefunctions[0]->at(some legal value)
しかし、デバッグ中に一度ループを抜けてアクセスしようとすると、EXC_BAD_ACCESSエラーが発生し続けます。(そこに何かがあるはずですが、なぜないのかわかりません...何かアイデアはありますか?