Boost logo

Boost :

Subject: Re: [boost] [graph] msvc compile failure with filtered_graph and dijkstra
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2012-10-08 16:59:22

Hi Jeremiah,

On Monday, 8. October 2012 16:05:30 Jeremiah Willcock wrote:
> On Mon, 8 Oct 2012, Jürgen Hunold wrote:
> > Any ideas what msvc does not grok here?
> It looks like VC++ isn't able to deduce that when calling:
> template <typename G>
> ... const G& ...
> that G should not be a const-qualified type. Please check if trunk
> version 80908 works for you (I don't have an easy way to test on Visual
> C++).

Sorry, that does not fix the problem. Same errors as before.
You can also send patches if I shall test something for you.

One hint might be the following buried inside the error messages:

E:\Home\hunold\src\devel\boost\boost/graph/properties.hpp(223) : error C2955:
'boost::type' : use of class template requires template argument list
        E:\Home\hunold\src\devel\boost\boost/type.hpp(14) : see declaration of

<boost/type.hpp> really declares a class template named "type" as follows:

  // Just a simple "type envelope". Useful in various contexts, mostly to work
  // around some MSVC deficiencies.
  template <class T>
  struct type {};

I get the feeling that msvc simply gets confused and fails to recognize the
difference between the "struct type" and the nested typedefs also named
"x::type". But I might be wrong here and this is a red herring.

Thanks for the help!


* Dipl.-Math. Jürgen Hunold !
* voice: ++49 4257 300 ! Fährstraße 1
* fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen
* ! Germany

Boost list run by bdawes at, gregod at, cpdaniel at, john at