Code:
class ENTITY
{
public:
..........
static list<ENTITY*> m_universe; // All existing entities.
ENTITY(unsigned int speed, double mass, double lift, double friction)
{
// Physical properties
m_speed = speed;
m_mass = mass;
m_friction = friction;
m_lift = lift;
m_tick_count = infinite-m_speed;
m_universe.push_back(this); // <--- read error at 0x00000004
last_tick_collided = false;
}
........
};
Right here:
Code:
void _Insert(iterator _Where, <--- The 'this' pointer is correct.
const _Ty& _Val)
{ // insert _Val at _Where
_Nodeptr _Pnode = _Where._Mynode();
_Nodeptr _Newnode = _Buynode(_Pnode, _Prevnode(_Pnode), _Val); <--- exception here
_Incsize(1);
_Prevnode(_Pnode) = _Newnode;
_Nextnode(_Prevnode(_Newnode)) = _Newnode;
}
Not to mention that I've also been getting these errors:
error C2440: 'initializing' : cannot convert from 'std::list<_Ty>::iterator' to 'std::list<_Ty>::iterator'
with
Code:
list<ITEM_TYPE>::iterator item = m_items.end();
where ITEM_TYPE is a class template argument... I have to resort to memcpy'ing it.
Are these compiler errors or what?