I need some help figuring out some existing code. I've been given a project to recompile quite a bit of code in Visual Studio 2005 from 2003 and I'm having a bit of trouble with vectors and iterators. I'm a C/C++ novice, so humor me please. Here is a bit of the code:
This is defined in EventBufferData.h:
Code:Type m_type; TimeStamp m_timeStamp; std::vector< Entry >::iterator mp_entry; std::string m_value; std::string m_value0; bool m_triggered0; TimeStamp m_timeStamp0;
and this is a part of EventBufferData.cpp:
Code:EventBufferData::EventBufferData () : m_type(EventTypeNull), mp_entry(NULL), m_value(""), m_triggered0(false), m_value0("") { m_timeStamp.sysTime = ""; m_timeStamp.simTime = ""; m_timeStamp0.sysTime = ""; m_timeStamp0.simTime = ""; }
The problem comes from the line mp_entry(NULL). It seems this was fine in .NET 2003, but in 2005 I get an error : error C2664: 'std::_Vector_iterator<_Ty,_Alloc>::_Vector_iterat or(const std::_Vector_iterator<_Ty,_Alloc> &)' : cannot convert parameter 1 from 'int' to 'const std::_Vector_iterator<_Ty,_Alloc>
But what I really want to know is what is this line doing? mp_entry is defined as std::vector< Entry >::iterator mp_entry; and I can't find any examples online of an iterator being referenced as iterator_name(NULL).



LinkBack URL
About LinkBacks


