From: bangerth Date: Wed, 5 Feb 2014 17:19:04 +0000 (+0000) Subject: Try to work around a bug in MS VC++. This is not pretty, but if it gets the job done... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60e0ba81df598d5c6fb1e48f88d37e2b1e5a644c;p=dealii-svn.git Try to work around a bug in MS VC++. This is not pretty, but if it gets the job done I'm ok with it. git-svn-id: https://svn.dealii.org/trunk@32413 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/include/deal.II/grid/grid_tools.h b/deal.II/include/deal.II/grid/grid_tools.h index e8de5d95ab..a439b3da7b 100644 --- a/deal.II/include/deal.II/grid/grid_tools.h +++ b/deal.II/include/deal.II/grid/grid_tools.h @@ -873,6 +873,23 @@ namespace GridTools fix_up_distorted_child_cells (const typename Triangulation::DistortedCellList &distorted_cells, Triangulation &triangulation); +#ifdef _MSC_VER + // Microsoft's VC++ has a bug where it doesn't want to recognize that + // an implementation (definition) of the extract_boundary_mesh function + // matches a declaration. This can apparently only be avoided by + // doing some contortion with the return type using the following + // intermediate type. This is only used when using MS VC++ and uses + // the direct way of doing it otherwise + template