Этот код не компилируется: «неоднозначный вызов перегруженной функции». Пробовал с 3 разными компиляторами.
готовил простой шаблонный тест в Code :: Blocks, но получаю сообщение об ошибке:
Нет подходящей функции для вызова функции «OutputSizes ()»
Вот мой исходный код:
#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;
}
Я использую GNU GCC с-std=C++0x
, С помощью-std=gnu++0x
не имеет значения.