title: compilation error under gcc
body: <p>i got a compilation error grom gcc (versions less than 6). clang and vc2013/2015 and gcc6 do not complain about this code. So i think this it is a bug of gcc 4.x-5.x.
  is there any workaround to make this code compile on gcc 4.x-5.x?</p>
  
  <pre><code>#include &lt;tuple&gt;
  #include &lt;typeinfo&gt;
  #include &lt;typeindex&gt;
  using namespace std;
  
  template &lt;typename... ParamTypes&gt; 
  void CreateObject(ParamTypes... args)
  {
  // error: conversion from 'std::tuple&lt;std::type_index, std::type_index, std::type_index&gt;' to non-scalar type 'std::tuple&lt;std::type_index&gt;' requested
      auto types = make_tuple(type_index(typeid(args))...);
  }
  
  int main()
  {
      CreateObject(1, "2", 1.1f);
      return 0;
  }
  </code></pre>