On Thu, 7 Jan 2016, John Peterson wrote:

> Hmm... the error seems to be triggered by this line of code:
>
>                  libMesh::err << "node " << (*nodej)->id() << ", " <<
>                    *(Point *)(*nodej) << " has HilbertIndices " <<
>                    node_keys[j] << std::endl;
>
> I don't really understand what this is doing at a glance.  Roy, is that a
> C-style cast to a Point *, then a dereferencing?

Yes, but operator<<(const Point&) isn't the problem; it's the output
of node_keys[j] later that's failing.  Failing in the
pair<HilbertIndices,unique_id> case, too, so Looks like a consequence
of https://github.com/libMesh/libmesh/pull/719 - we tested that on
Linux but I guess not on OS X.

The correct overload should be defined in lines 79-87 of
parallel_hilbert.h - but as the comment there mentions, it was hard
to get gcc to find that overload on Linux too...
---
Roy

------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to