Ich habe mit variablen C ++ 0x-Vorlagen experimentiert, als ich auf dieses Problem gestoßen bin:
template < typename ...Args >
struct identities
{
typedef Args type; //compile error: "parameter packs not expanded with '...'
};
//The following code just shows an example of potential use, but has no relation
//with what I am actually trying to achieve.
template < typename T >
struct convert_in_tuple
{
typedef std::tuple< typename T::type... > type;
};
typedef convert_in_tuple< identities< int, float > >::type int_float_tuple;
GCC 4.5.0 gibt eine Fehlermeldung aus, wenn ich versuche, das Vorlagenparameterpaket einzugeben.
Grundsätzlich möchte ich das Parameterpaket in einem typedef "speichern", ohne es zu entpacken. Ist es möglich? Wenn nicht, gibt es einen Grund, warum dies nicht zulässig ist?