Boost logo

Boost :

Subject: Re: [boost] [graph] ambiguity for 'tie' VC10
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2010-06-18 16:31:42


On Fri, 18 Jun 2010, Andreas Fabri wrote:

>
> Hello,
>
> For
>
> Windows7
> VC10 64 bit,
> boost_1_43_0
>
> the following code produces an error message
>
> #include <tuple>
> #include <boost/graph/adjacency_list.hpp>
>
> typedef boost::adjacency_list<
> boost::vecS,
> boost::vecS,
> boost::undirectedS > G;
>
>
> int main()
> {
> G g1;
> G g2(g1);
>
> return 0;
> }
>
>
>
> C:\boost\boost_1_43_0\boost/graph/detail/adjacency_list.hpp(2157) : error
> C2668: 'boost::tuples::tie' : ambiguous call to overloaded function
> C:\boost\boost_1_43_0\boost/tuple/detail/tuple_basic.hpp(889): could
> be 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>
> boost::tuples::tie<boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>,boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>>(boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>
> &,boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference> &)'
>
> ....
>
> OR
>
>
> C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\INCLUDE\xxtuple1(34): or
> 'std::tr1::tuple<_Arg0,_Arg1,_Arg2,_Arg3,_Arg4,_Arg5,_Arg6,_Arg7,_Arg8,_Arg9>
> std::tr1::tie<boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>,boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>>(boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference>
> &,boost::detail::undirected_edge_iter<EdgeIter,EdgeDescriptor,Difference> &)'
> [found using argument-dependent lookup]

I believe I fixed this now in r63085 (on Boost trunk); please see if that
version removes these errors.

-- Jeremiah Willcock


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