我在 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
没有区别。