
I am trying to use boost.MultiIndex as a class data member and am having difficulty because it seems that calling get<>() will not compile on a NetBSD box (gcc version 4.1.3). The code below illustrates a simple test case. Am I missing something obvious or doing something clearly mistaken? Any help is greatly appreciated. Thanks alot. Cheers, Brook =========================================================================== #include <boost/multi_index_container.hpp> #include <boost/multi_index/sequenced_index.hpp> namespace mi = boost::multi_index; template < typename T > struct container { typedef mi::multi_index_container< T, mi::indexed_by< mi::sequenced< > > > type; }; template < typename T > struct S { typedef typename container< T >::type container_type; void operator () () const { c_.get<0>(); // XXX - will not compile } private: container_type c_; }; int main () { return 0; }

Brook Milligan <brook <at> biology.nmsu.edu> writes:
I am trying to use boost.MultiIndex as a class data member and am having difficulty because it seems that calling get<>() will not compile on a NetBSD box (gcc version 4.1.3). The code below illustrates a simple test case.
Am I missing something obvious or doing something clearly mistaken?
Yes. ;-] The line c_.get<0>(); should be c_.template get<0>(); See this FAQ for some explanation: http://www.comeaucomputing.com/techtalk/templates/#templateprefix
Any help is greatly appreciated.
Thanks alot.
Cheers, Brook
Regards
participants (2)
-
Adam Merz
-
brook@biology.nmsu.edu