Hi,
When I try to create a object of this,
typedef boost::multi_index_container<
ClassX*, //mapped
value
boost::multi_index::indexed_by< //list
of indices
boost::multi_index::hashed_unique<
boost::multi_index::const_mem_fun<ParentClassOfX,
Key1, &ParentClassOfX::getKey1> //hashed
index by unique Key1
>,
boost::multi_index::hashed_unique<
boost::multi_index::const_mem_fun<ParentClassOfX,
Vs64, &ParentClassOfX::getKey2> //hashed
index by unique Key1
>
>
>ClassXMultiKeyIndexed;
like,
ClassXMultiKeyIndexed sample;
and insert a pointer like this,
ClassX *a;
ClassXMultiKeyIndexed sample;
//a is not NULL and is filled up before the below insert
sample.insert(a);
This is the compilation error, it compiles fine if
"sample.insert(a)" is commented out.
Compilation error :
Compiling...
stm_container_manager_abc.cpp
c:\code\common\lib\boost\boost\detail\allocator_utilities.hpp(153)
: error C2061: syntax error : identifier 'p'
c:\code\common\lib\boost\boost\multi_index\detail\index_base.hpp(105)
: see reference to function template instantiation 'void
boost::detail::allocator::construct<Container*>(void
*,const Type &)' being compiled
with
[
Type=Container *
]
[...]