我在地图迭代器中有一个错误。问题如下:
class JacobianCol
{
private:
...
JacobianColData::iterator _L_begin;
public:
JacobianColData::iterator L_begin();
...
};
在另一个模块中:
JacobianCol LUSolver::col_subtract(const JacobianColData::iterator &alpha, JacobianCol &X, JacobianCol &Y)
{
JacobianCol result = Y;
//alternate "result" variable
return result;
}
称呼:
...
J[*it] = col_subtract(friend_element, J[diag_index], J[*it]);
...
当我将结果分配给col_subtract
to时,J[*it]
我会J[*it].L_begin
指向一个已释放的内存(指向上一个的指针J[*it]
)。