Boost logo

Boost :

Subject: [boost] [graph] ambiguity for 'tie' VC10
From: Andreas Fabri (andreas.fabri_at_[hidden])
Date: 2010-06-18 12:48:02


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]

Best regards,

andreas fabri


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