title: Variadic template: error: parameter packs not expanded with '...'
body: <p>I'm trying to pass multiple strings to fill a Container, but I receive this error. Using gcc 4.9.3</p>
  
  <pre><code>template&lt; class T &gt;
  struct DataCompare {
      bool operator()( const T&amp; lhs, const T&amp; rhs ) const
      {
          return operator&lt;( lhs-&gt;getCode(), rhs-&gt;getCode() );
      }
  };
  
  using AggContainer = boost::container::flat_set&lt; T, C &gt;; 
  using DataPtr      = boost::shared_ptr&lt; BomQueueData &gt;;
  using PropertyQueueDataLess = DataCompare&lt; DataPtr &gt;;
  using QueueDataPtrs = AggContainer&lt; DataPtr, DataLess &gt;;
  
  QueueDataPtrs vector_name;
  
  template&lt; class Container, typename ... Args &gt;
  static void fillWithData(Container &amp; oDataContainer, Args const &amp; ... args)
  {
      typedef typename Container::value_type::element_type QueueDataPtr;
      oDataContainer.emplace(new QueueDataPtr(args));
  }
  
  fillWithData(vector_name, x, a, b, c, d); // compiler error
  </code></pre>
  
  <p>How to solve?</p>