いくつかの計算に有限要素ライブラリを使用していますが、奇妙な問題が発生しました。私は基本的に次の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>