title: What's wrong with my constructor for this stack as array implementation?
body: <p>what is wrong with my constructor below? I am getting an error that says:</p>
  
  <p>Error   1   error C2359:  member of non-class type requires single initializer expression<br>
  Error   2   error C2359:  member of non-class type requires single initializer expression   </p>
  
  <p>It says the error is at line 55, which I made the font bold below if you take a quick look.</p>
  
  <pre><code>template &lt;typename Type&gt;
  class Drop_off_stack_as_array {
      private:
          int itop;
          int ibottom;
          int entry_count;
          int array_capacity;
          Type *array;
  
      public:
          Drop_off_stack_as_array( int = 10 );
          Drop_off_stack_as_array( Drop_off_stack_as_array const &amp; );
          ~Drop_off_stack_as_array();
  
          int size() const;
          bool empty() const;
          Type top() const;
          bool full() const; 
  
          void swap( Drop_off_stack_as_array &amp; );
          Drop_off_stack_as_array &amp;operator = ( Drop_off_stack_as_array );
          void push( Type const &amp; );
          Type pop();
          void clear();
  
      template &lt;typename T&gt;
      friend std::ostream &amp;operator &lt;&lt; ( std::ostream &amp;, Drop_off_stack_as_array&lt;T&gt; const &amp; );
  };
  
  template &lt;typename Type&gt;
  Drop_off_stack_as_array&lt;Type&gt;::Drop_off_stack_as_array( int n ):
      itop(0),
      ibottom(0),
      entry_count(0),
      array_capacity(0,n),
      **array(new Type[array_capacity]){**
          //empty constructor
      }
  </code></pre>