我正在使用有限元库进行一些计算,我遇到了一个奇怪的问题。 我基本上有以下for循环:
MeshBase::const_node_iterator node_it = mesh.nodes_begin();
for (unsigned int i=0;i<n_nodes;i++ , node_it++){
const Node* node2 = *node_it;
Point dumpoint( (*node2)(0), (*node2)(1), (*node2)(2));
Number dumreal= (Number) mesh_data.get_data(node2)[0];
// std::cout << dumreal <<std::endl;
dummap[dumpoint] = mesh_data.get_data(node2)[0];
}
如果我用cout取消注释该行,它就可以了。否则我会遇到段错误。我打印的内容并不重要:
std::cout << std::endl;
一个重要的注意事项是dummap是全局
std::map<Point,Number>
答案 0 :(得分:1)
使用valgrind显示问题出在我在其他地方分配的一些char *数组。 谢谢^^