I am having trouble while using multi index container with the "managed c++" component. Here is the typedef that the compiler won't accept.

typedef 
multi_index_container<
gcroot<interface_entity*>,
indexed_by<
ordered_unique< identity<gcroot<interface_entity*> > >,
ordered_non_unique <member<gcroot<interface_entity*> , int,&interface_entity::entity_drawingid > >,
>
> entity_collection;
The real deal is with the member template which needs the address of member variable of the interface_entity class. Entity class is an abstract Managed type (specified with __gc), and it is not allowed to take the address of a non-static member of a managed type.

Does anybody know of a workaround?

Thanks
Parag