title: Boost serialization error
body: <p>I encountered these message when trying to use boost::serialization.  However I don't what did I do wrong.  Would you please help point it out?</p>
  
  <p>Thank you,</p>
  
  <p>Error message:</p>
  
  <pre><code>    boost/include/boost/archive/detail/check.hpp:162: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE&lt;false&gt;'
  </code></pre>
  
  <p>Below is my code:</p>
  
  <pre><code>    template&lt;class Archive&gt;
      void nDB::serialize(Archive &amp;ar, const unsigned int version) {
      boost::unordered_map&lt;string,macro*,myhash,cmp_str&gt;::const_iterator M_IT;
      boost::unordered_map&lt;string,layer*,myhash,cmp_str&gt;::const_iterator L_IT;
      for (M_IT = _MACROS.begin();M_IT != _MACROS.end();M_IT++) {
       ar &amp; M_IT-&gt;first;
       ar &amp; *(M_IT-&gt;second);
  
      } 
      for (L_IT = _LAYERS.begin();L_IT != _LAYERS.end();L_IT++) {
        ar &amp; L_IT-&gt;first;
        ar &amp; *(L_IT-&gt;second);
      }
      } 
  </code></pre>