我遵循了这个建议在这里像这样:
ArrayXd simple_constraint = ArrayXd::Ones(10);
double *b = simple_constraint.data();
然后
b
被传递给C api(顺便说一下CGAL)。但是,此操作会重复并在循环内发生,因此我的代码实际上如下所示:
for(int i=0;i<10;i++){
//do something
ArrayXd simple_constraint = someotherobject(i);
double *b = simple_constraint.data();
}
在一次迭代后,即第二次对
C
数组进行赋值时,我收到此错误:
Process finished with exit code 136 (interrupted by signal 8: SIGFPE)
有人可以帮我找出我做错了什么吗?我是否需要重新分配内存、空闲内存等?我倾向于依靠
C++
来进行内存管理,但被迫通过其他很棒的 CGAL
API 传递指针。
谢谢!