我有一个指向向量的指针向量:
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 错误。(那里应该有一些东西,但我不确定为什么没有......有什么想法吗?