Erro de compilação na função de modelo variável recursiva
Eu preparei um teste simples de modelo variável no Code :: Blocks, mas estou recebendo um erro:
Nenhuma função correspondente para chamar 'OutputSizes ()'
Aqui está o meu código fonte:
#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;
}
Estou usando o GNU GCC com-std=C++0x
. Usando-std=gnu++0x
Não faz diferença.