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).