title: Passing a vector<vector<int> > to an argument
body: <p>I'm new in C++ programming and for some time, I've been trying to resolve a problem with a <code>vector&lt;vector&lt;int&gt; &gt;</code>.</p>
  
  <p>This is the header file</p>
  
  <pre><code>#ifndef ASSIGNMENT_H_
  #define ASSIGNMENT_H_
  
  #include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;string&gt;
  
  using std::string;
  using std::vector;
  using namespace std;
  
  class Mood{
  public:
     string lecture;
     vector&lt;Block&gt; blocks;
  
     Mood(vector&lt;vector&lt;int&gt; &gt; &amp;m, string lecture){
       this-&gt;lecture=lecture;
       for(auto r: m){
          blocks.push_back(Block(r));
       }
    }
  };
  #endif
  </code></pre>
  
  <p>Block is another simple class with just 2 int written in the same file (but I think it not important for my problem).</p>
  
  <p>The problem is in the main written in another file:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;string&gt;
  #include "assignment.h"
  using std::vector;
  using std::string;
  using namespace std;
  int main(){
     Mood r= Mood({{1,2}},"Hello");
  }
  </code></pre>
  
  <p>The error is very general: expected expression</p>