1
VisualStudioのは、このコード(エラーC2976)VS2015エラーC2976
をコンパイルすることはできませんが、GCCとクランは、このコード
理由をコンパイルすることができます?
#include <iostream>
#include <map>
template <typename... ARGS>
void Func(const std::map<ARGS...>& m)
{
//...
}
template <typename T>
void Func(const T& t)
{
//...
}
int main()
{
std::map<int, double> m;
Func(m); // error C2976: 'std::map': too few template arguments
Func(123); // OK
return 0;
}
エラーを示していますか? –
テンプレートの控除がテンプレートパラメータとしてstd:mapに対して失敗する可能性があります(http://stackoverflow.com/questions/26059219/template-deduction-fails-for-stdmap-as-template-parameter) – cromod