title: Type definition issue
body: <p>i have a stucture:</p>
  
  <pre><code>template &lt;class T&gt; struct Array{
  int days;
  T * M;
  Array( int size ) : days(size), M(new T[size])
  {
  }
  ~Array()
  {
     delete[] M;
  }
  };
  
  void currentDay();
  void add(int,int,Array &amp;);
  </code></pre>
  
  <p>and  a class:</p>
  
  <pre><code>class Expe {
  private:
      int hk;     //HouseKeeping
      int fo;     //Food
      int tr;     //Transport
      int cl;     //Clothing
      int tn;     //TelNet
      int ot;     //Others
  
   }
  </code></pre>
  
  <p>Class contructor is :</p>
  
  <pre><code>Expe::Expe() {
  this-&gt;hk = hk;
  this-&gt;fo = fo;
  this-&gt;tr = tr;
  this-&gt;cl = cl;
  this-&gt;tn = tn;
  this-&gt;ot = ot;
  }
  </code></pre>
  
  <p>THE PROBLEM: in main function i can manipulate the structure with objects... using the setObj() function for example but  when i try to define my functions in Controller  or in Controller.h i get the fallowing error:</p>
  
  <pre><code>..\ListStruc.cpp:28:28: error: 'Array' is not a type
  ..\ListStruc.cpp: In function 'void add(int, int, int)':
  ..\ListStruc.cpp:31:4: error: request for member 'M' in 'A', which is of non-class type 'int'
  </code></pre>
  
  <p>EDIT:</p>
  
  <pre><code>void add(int cant, int tip,Array A){
  //Adds to current day the amount to a specific type
  
  A.M[currentDay]; // i try to use this object.
  }
  </code></pre>