title: C++ Class is not base of itself
body: <p>Im not exactly sure how much information is needed to answer this, so tell me if more information is needed.</p>
  
  <p>Im modifying a large code i wrote when i suddenly encountered this message: <code>error: type 'integer' is not a direct base of 'integer'</code>. i know its an inheritance problem, but im not inheriting other classes.</p>
  
  <p>The code that is causing this problem is </p>
  
  <pre><code>integer(const std::string &amp; val, uint16_t base): integer(val.begin(), val.end(), base) {}
  </code></pre>
  
  <p>and </p>
  
  <pre><code>integer(iterator start, iterator end, uint16_t base) 
  </code></pre>
  
  <p>has been defined.</p>
  
  <p>What do I need to do to fix this?</p>
  
  <p>EDIT: im compiling with -std=c++0x, which according to the answers, i should be able to compile, unless my compiler is old: gcc 4.6.2 i think</p>