title: How do you return a vector iterator from a variable in a templated class?
body: <p>I'm trying to return an iterator for a vector in a templated class (I'm not sure if that makes a difference, but I've read that may, so I thought I'd mention it).  The problem is that I get an error about C++ not supporting default-int when I try this.  I've looked online and from what I can see in forums and explanaions, I don't think I'm <em>that</em> far off, it just won't compile.</p>
  
  <pre><code>template&lt;class T&gt;
  class Table
  {
  public:
    ...
  
    vector&lt;shared_ptr&lt;vector&lt;T&gt;&gt;&gt;::iterator GetRowIterator();
    //vector&lt;shared_ptr&lt;vector&lt;CellValueType&gt; &gt; &gt;::const_iterator GetRowIterator();
  
    ...
  protected:
  
    vector&lt;shared_ptr&lt;vector&lt;CellValueType&gt; &gt; &gt; data;  //outside vector is rows, inside vector is columns
  
    ...
  };
  
  vector&lt;shared_ptr&lt;vector&lt;T&gt; &gt; &gt;::const_iterator Table&lt;T&gt;::GetRowIterator()
  {
    return data.begin();
  }
  </code></pre>
  
  <p>The errors that I get are: </p>
  
  <pre><code>error C2146: syntax error : missing ';' before identifier 'GetRowIterator'
  
  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   
  </code></pre>
  
  <p><em>Edit:</em><br/>
  Changed the end angle brackets so they are not as close together - same error.<br/><br/>
  Any thoughts as to why this is occurring?<br/>
  As always, thanks for advice/help in advance!</p>