0

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

1 に答える 1

1

Using valgrind showed that the problem was with some char* array I allocated somewhere else. Thanks ^^

于 2012-08-07T15:05:41.427 に答える