
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 ]