static VOID operator delete(VOID* pDelete)
 {

  if (m_iLength == 0) throw \"delete invalid pointer\";
  --m_iLength;


//  여기서부터
  *reinterpret_cast<UCHAR**>(pDelete) = m_pucFree;
  m_pucFree = static_cast<UCHAR*>(pDelete);
//여기까지
 }

이게 되기는 하는 구문임? pDelete 뒤에 m_pucFree를 덧붙이려고 하는 거 같은데 ㅡ.ㅡ...