title: Generic vector of vector n dimensionnal
body: <p>I try something (probably in the wrong way) but the langage and std doesn't let me do what I want.
  I have a void* that can contain : <code>std::vector&lt;int&gt;</code> or <code>std::vector&lt;std::vector&lt;int&gt;&gt;</code> or <code>std::vector&lt;std::vector&lt;std::vector&lt;int&gt;&gt;&gt;</code> or ... and so on. I have a dpeth variable to know how much vector level.</p>
  <p>So I &quot;just&quot; want to write a method that iterate through my vector and for each element give to me a new <code>void*</code> to a <code>subVector</code> or <code>int</code>.
  But I can't get generically a sub element from my vector if don't give the real type (which can be very very very long)
  I'm trying to macro some typedef :</p>
  <pre><code>using DIM1 = std::vector&lt;int&gt;;
  using DIM2 = std::vector&lt;std::vector&lt;int&gt;&gt;;
  </code></pre>
  <p>But I can't convert my void* to a DIMX* (without an insane switch case statement)</p>
  <p>Any ideas, (or other ways to approach the problem)</p>