Boost logo

Boost Users :

From: Martin (adrianm_at_[hidden])
Date: 2005-04-05 07:00:48


When compiling the following code on VC70

struct tTest {
  tTest() : x(0), y(0), z(0)
  int x,y,z;
};

typedef multi_index_container<
  tTest,
  indexed_by<
    ordered_unique<
      composite_key<
        BOOST_MULTI_INDEX_MEMBER(tTest, int, x)
       ,BOOST_MULTI_INDEX_MEMBER(tTest, int, y)
      ) // replaced > with ) since gmane thinks I'm top-posting
    )
  )
) tTestList;

void func() {
  tTestList u;
  u.insert(tTest());
}

I get an error

boost\multi_index\composite_key.hpp(573) : error C2100: illegal indirection
        boost\multi_index\ordered_index.hpp(562) : see reference to function
template
instantiation 'boost::multi_index::composite_key<Value,KeyFromValue0,KeyFromVal
ue1,KeyFromValue2,KeyFromValue3,KeyFromValue4,KeyFromValue5,KeyFromValue6,KeyFr
omValue7,KeyFromValue8,KeyFromValue9>::result_type
boost::multi_index::composite_key<Value,KeyFromValue0,KeyFromValue1,KeyFromValu
e2,KeyFromValue3,KeyFromValue4,KeyFromValue5,KeyFromValue6,KeyFromValue7,KeyFro
mValue8,KeyFromValue9>::operator ()(const ChainedPtr &) const' being compiled
        with
        [
            Value=boost::multi_index::member_offset<tTest,int,0>,
            KeyFromValue0=boost::multi_index::member_offset<tTest,int,4>,
            KeyFromValue1=boost::tuples::null_type,
            KeyFromValue2=boost::tuples::null_type,
            KeyFromValue3=boost::tuples::null_type,
            KeyFromValue4=boost::tuples::null_type,
            KeyFromValue5=boost::tuples::null_type,
            KeyFromValue6=boost::tuples::null_type,
            KeyFromValue7=boost::tuples::null_type,
            KeyFromValue8=boost::tuples::null_type,
            KeyFromValue9=boost::tuples::null_type,
            ChainedPtr=tTest
        ]


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net