Error de compilación en la función de plantilla variable recurrente

He preparado una prueba de plantilla variadic simple en Code :: Blocks, pero recibo un error:

Sin función de coincidencia para la llamada a 'OutputSizes ()'

Aquí está mi código fuente:

#include <iostream>
#include <typeinfo>

using namespace std;

template <typename FirstDatatype, typename... DatatypeList>
void OutputSizes()
{
    std::cout << typeid(FirstDatatype).name() << ": " << sizeof(FirstDatatype) << std::endl;
    OutputSizes<DatatypeList...>();
}

int main()
{
    OutputSizes<char, int, long int>();
    return 0;
}

Estoy usando GNU GCC con-std=C++0x. Utilizando-std=gnu++0x No hace diferencia

Respuestas a la pregunta(2)

Su respuesta a la pregunta