title: Error: missing type specifier - int assumed. C++ does not support default int
body: <p>I wrote a sample class with template use. it's fairly simple:</p>
  
  <pre><code>template &lt;class T&gt;
  class myClass
  {
  public:
  
      // construction, destruction
      myClass();
      virtual ~myClass();
      class Object
      {
      public:
          Object() { m_pNext = NULL; m_pPrev = NULL; }
          ~Object() {}
  
          T        m_Value;
  
          Object*  m_pNext;
          Object*  m_pPrev;
      };
  
  public:
  
      // accessor functions
      Object* Beginning();
  
  private:
  
      Object* m_pBegin;
      Object* m_pEnd;
      INT m_nCount;
  
  };
  
  template &lt;class T&gt; 
  inline myClass&lt;T&gt;::Object* myClass&lt;T&gt;::Beginning()
  { return m_pBegin; }
  
  
  template &lt;class T&gt;
  inline myClass&lt;T&gt;::myClass()
  {
  
  }
  
  template &lt;class T&gt;
  inline myClass&lt;T&gt;::~myClass()
  {
  
  }
  </code></pre>
  
  <p>I use visual studio 2008, and here is the compile error</p>
  
  <p>error C2143: syntax error : missing ';' before '*'  ...
  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int.</p>
  
  <p>the errors are linked to this line:</p>
  
  <pre><code>inline myClass&lt;T&gt;::Object* myClass&lt;T&gt;::Beginning()
  </code></pre>
  
  <p>Can anyone tell me what was wrong in this code?</p>
  
  <p>Thanks.</p>