title: Using a typedef'd uint causes error, while "unsigned int" does not...?
body: <p>For some reason, when I define a variable as "uint" instead of "unsigned int" in my program, it errors.  This seems strange, because uint is typedef'd as:</p>
  
  <pre><code>typedef unsigned int uint;
  </code></pre>
  
  <p>...so I would think that I could use the two interchangeably. To be more exact, I am assigning the result of a function which returns "unsigned int" into a uint variable, then
  using that uint in a vector resize call... at which point it errors.  Ie, my code looks something like this:</p>
  
  <pre><code>unsigned int getUInt()
  {
      return 3;
  }
  
  int main(void) {
      vector&lt;vector&lt;float&gt; &gt; vectVect(100000);
      for(uint i = 0; i &lt; vectVect.size(); ++i)
      {
          vector&lt;float&gt;&amp; myVect = vectVect[i];
          uint myUnsignedInt = getUInt();
          myVect.resize(myUnsignedInt);
      }
      cout &lt;&lt; "finished" &lt;&lt; endl;
  }
  </code></pre>
  
  <p>...and the line it errors at is the myVect.resize line.</p>
  
  <p>Obviously, I already have a solution, but I'd like to understand WHY this is happening, as I'm pretty baffled.  Anyone have any ideas?</p>
  
  <p>PS - In case anyone thinks it may matter, I'm using gcc v4.1.2 on fedora 15... and the include file which defines uint is /usr/include/sys/types.h.</p>