title: How to put different template types into one vector
body: <p>I'd like to construct a message with unknown length or number of arguments. I took a simple template like</p>
  
  <pre><code>template &lt;typename T&gt; class Argument {
  public:
      int size;
      int type;
      T data;
  };
  </code></pre>
  
  <p>and with some overloaded </p>
  
  <pre><code>addMessage (int value) {
      Argument&lt;int&gt; *a = new Argument&lt;int&gt;;
      vec.push_back(a);
  }
  </code></pre>
  
  <p>(same for string and so on) I try to push it all into one vector. I tried </p>
  
  <pre><code>std::vector&lt;Argument* &gt; vec;
  std::vector&lt;Argument&lt;typename T&gt;* &gt; vec;
  std::vector&lt;Argument&lt;&gt;* &gt; vec;
  </code></pre>
  
  <p>but nothing of this seems to work. Is there a way to do this? Thanks in advance.</p>