【发布时间】:2012-03-26 14:29:35
【问题描述】:
我很惊讶以下代码导致了could not deduce template argument for T 错误:
struct foo
{
template <typename T>
void bar(int a, T b = 0.0f)
{
}
};
int main()
{
foo a;
a.bar(5);
return 0;
}
致电a.bar<float>(5) 可解决此问题。为什么编译器不能从默认参数中推断出类型?
【问题讨论】:
标签: c++ templates default-arguments