title: invalid operands to binary expression ('std::ostream' (aka 'basic_ostream<char>') and 'const std::vector<int>')
body: <p>I have the following problem. I´m just trying to output a vector but it says "invalid operands to binary expression ('std::ostream' (aka 'basic_ostream') and
        'const std::vector')"</p>
  
  <p>Code: </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;iostream&gt;
  #include &lt;vector&gt;
  
  
  
  
  template &lt;size_t B, size_t N, typename T = int&gt;
  class Number
  {
  
    private:
     std::vector&lt;T&gt; v[N]; // Vector que contendrá el numero desglozado
     void toBase(int valor);
  
   public:
     Number(int valor); // Constructor
     Number &lt;B,N,T&gt; suma(const Number&lt;B,N,T&gt;&amp; sumando) const;
     std::ostream&amp; write(std::ostream&amp; os)const;
   };
  
  
  template &lt;size_t B, size_t N, typename T&gt;
  Number&lt;B,N,T&gt;::Number(int valor)
  {
    toBase(valor);
    std::cout &lt;&lt; write() &lt;&lt; std::endl;
  }
  
  
  
  template &lt;size_t B, size_t N, typename T&gt;
  void Number&lt;B,N,T&gt;::toBase(int valor)
  {
     for(int i = 0; i &lt; N; i++) {
      int aux = valor % B;
      v[i].push_back(aux);
    }
  }
  
  
  
  template &lt;size_t B, size_t N, typename T&gt;
  std::ostream&amp; Number&lt;B,N,T&gt;::write(std::ostream&amp; os) const
  {
    for(int i = 0; i &lt; N; i++){
      os &lt;&lt; v[i] &lt;&lt; std::endl;
     }
  }
  </code></pre>
  
  <p>I thought the problem was that i was trying to output the vector with a simple for loop. So i tried to output it with an ostream but i have the same error. So the ostream its ok i think. 
  Just the outputting vector is the problem and i dont know why.
  Any ideas? Thanks you! </p>
  
  <p>main: </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;iostream&gt;
  
  #include "number.hpp"
  
  
  int main() {
  
  Number&lt;2,10&gt; N1(100);
  Number&lt;2,10&gt; N2(200);
  
  }
  </code></pre>