title: Errors with std list
body: <p>For some reason, I keep getting the following errors in ErrorHandler.h
  why size function is missing arguments?</p>
  
  <p>'std::list&lt;_Ty>::size': function call missing argument list; use '&amp;std::list&lt;_Ty>::size' to create a pointer to member</p>
  
  <pre><code>    'std::_List_iterator&lt;_Mylist&gt; std::list&lt;_Ty&gt;::erase(std::_List_const_iterator&lt;_Mylist&gt;,std::_List_const_iterator&lt;_Mylist&gt;)' : cannot convert parameter 1 from 'int' to 'std::_List_const_iterator&lt;_Mylist&gt;' 
  
      'std::_List_iterator&lt;_Mylist&gt; std::list&lt;_Ty&gt;::erase(std::_List_const_iterator&lt;_Mylist&gt;)' : cannot convert parameter 1 from 'int' to 'std::_List_const_iterator&lt;_Mylist&gt;'
  
  
  // in errorhandler.h
  
      class ErrorHandler{
          std::list&lt;unsigned int&gt; m_ErrorList;
      public:
          ErrorHandler(){ }
          ~ErrorHandler(){ }
          void ForceShutdown(){ free(&amp;m_ErrorList); }
          void Add(int errCode){ m_ErrorList.push_back(errCode); }
          unsigned int GetLastError(){ if(m_ErrorList.size!=0)return m_ErrorList.back(); }
          void Remove(int pos){ if(m_ErrorList.size!=0)m_ErrorList.erase(pos); }
          void RemoveRange(int start,int end){ if(m_ErrorList.size!=0)m_ErrorList.erase(start,end); }
  
      };
  
  
  // in criticalsection.h
      class CriticalSection{
          long m_nLockCount;
          long m_nThreadId;
          typedef CRITICAL_SECTION cs;
          cs m_tCS;
      public:
          CriticalSection(){
              ::InitializeCriticalSection(&amp;m_tCS);
              m_nLockCount = 0;
              m_nThreadId = 0;
          }
          ~CriticalSection(){ ::DeleteCriticalSection(&amp;m_tCS); }
          void Enter(){ ::EnterCriticalSection(&amp;m_tCS);  }
          void Leave(){  ::LeaveCriticalSection(&amp;m_tCS); }
          void Try();
      };
      class LockSection{
          CriticalSection* m_pCS;
          ErrorHandler * m_pErrorHandler;
      public:
          LockSection(CriticalSection* pCS,ErrorHandler* pErrorHandler){
              m_pCS = pCS;
              m_pErrorHandler = pErrorHandler;
              if(!m_pCS)m_pErrorHandler-&gt;Add(0x1AE1); // 0x1AE is code prefix for critical section header
              if(m_pCS)m_pCS-&gt;Enter();
          }
          ~LockSection(){
              if(!m_pCS)m_pErrorHandler-&gt;Add(0x1AE2);
              if(m_pCS)m_pCS-&gt;Leave();
          }
      };
  </code></pre>