Boost logo

Boost :

Subject: Re: [boost] [graph] msvc compile failure with filtered_graph and dijkstra
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2012-10-08 17:02:56


On Mon, 8 Oct 2012, Jürgen Hunold wrote:

> 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.

Exactly the same (same "const filtered_graph" stuff in the beginning) as
before?

> 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'
>
> <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.

It might be related; maybe the compiler is failing to find the member then
looking for a namespace-scope class instead or something.

-- Jeremiah Willcock


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk