Hi,
I simplified my problem to make sure it was not because of my class or
something like that, this is the exact content(related to
boost::multi_index) in the header file,
example.h
#include
#include
#include
using namespace boost::multi_index;
using boost::multi_index::multi_index_container;
using boost::multi_index::hashed_unique;
using boost::multi_index::indexed_by;
typedef multi_index_container<
int,
indexed_by<
hashed_unique
int_multiset;
and then below it in the header file I have my class written,
as follows,
class MgrABC : public MainManager {
public:
int_multiset sample1;
<already existing code>
.
.
.
protected:
virtual void _handler();
<already existing code>
.
.
.
};
In the corresponding cpp file
example.cpp
void MgrABC::_handler() {
.
.
.
this->sample1.insert(1);
<already existing code>
.
.
.
}
This simple code is not compiling with this same error,
Exact build output,
Compiling...
example.cpp
c:\sample\common\lib\boost\boost\detail\allocator_utilities.hpp(153) :
error C2061: syntax error : identifier 'p'
c:\sample\common\lib\boost\boost\multi_index\detail\index_base.hpp(105)
: see reference to function template instantiation 'void
boost::detail::allocator::construct<int>(void *,const Type &)' being
compiled
with
[
Type=int
]
c:\sample\common\lib\boost\boost\multi_index\detail\index_base.hpp(102)
: while compiling class template member function
'boost::multi_index::detail::hashed_index_node
*boost::multi_index::detail::index_base::insert_(const
int &,boost::multi_index::detail::hashed_index_node
*&,boost::multi_index::detail::lvalue_tag)'
with
[
Super=boost::multi_index::detail::index_node_base,
Category=boost::multi_index::detail::hashed_unique_tag,
Value=int,
IndexSpecifierList=boost::multi_index::indexed_by>,
Allocator=std::allocator<Vs32>
]
c:\sample\common\lib\boost\boost\multi_index\hashed_index.hpp(93) :
see reference to class template instantiation 'boost::multi_index::detail::
index_base' being compiled
with
[
Value=int,
IndexSpecifierList=boost::multi_index::indexed_by>,
Allocator=std::allocator<Vs32>
]
c:\sample\common\lib\boost\boost\multi_index_container.hpp(100) :
see reference to class template instantiation 'boost::multi_index::detail::
hashed_index' being
compiled
with
[
KeyFromValue=boost::multi_index::identity<int>,
Hash=boost::hash<int>,
Pred=std::equal_to<int>,
SuperMeta=boost::multi_index::detail::nth_layer<1,int,boost:
:multi_index::indexed_by>,std::allocator<Vs32>>,
TagList=boost::mpl::vector0boost::mpl::na,
Category=boost::multi_index::detail::hashed_unique_tag
]
c:\sample\example.h(102) : see reference to class template
instantiation 'boost::multi_index::multi_index_container'
being compiled
with
[
Value=int,
IndexSpecifierList=boost::multi_index::indexed_by>
]
Build log was saved at "file://c:\sample\build\bin\
sample\win\Debug\obj\BuildLog.htm"
Sample - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Thanks,
Ram