【发布时间】:2013-09-20 21:31:40
【问题描述】:
是C++代码,为什么第3行有错误:
不使用模板参数的模板结构总和
template<class T> void foo(T op1, T op2)
{
cout<< "op1 = " << op1 << endl;
cout<< "op2 = " << op2 << endl;
}
template<class T>
struct sum
{
static void foo(T op1 , T op2)
{
cout << "sum is " << op1 << endl;
}
};
int main()
{
foo(1,3); // line 1
foo<int>(1, '3'); // line 2
sum::foo(1,2); // line 3
return 0;
}
第 1 行没有模板参数,但没有错误。
谢谢!
【问题讨论】:
-
1) 模板参数推导 2) 显式模板参数 3) 没有模板参数 -- 错误
-
搜索“模板参数推导”并从标准中读取 14.8.2 - 您需要的所有信息都在那里。
标签: c++ templates static struct