uh.. wait, i do it like this, T* ptr = m_Stack.top(); delete ptr; // i still have the reference? m_Stack.pop();