【发布时间】:2009-07-17 22:55:47
【问题描述】:
调用模板函数时可以省略函数名后面的类型吗?
例如,考虑下面的函数:
template<typename T>
void f(T var){...}
这样简单的称呼可以吗:
int x = 5;
f(x);
或者我是否有包含类型?
int x = 5;
f<int>(x);
【问题讨论】:
-
你不能试试看会发生什么吗?似乎很容易测试。
-
@ Ed Swangren,“试一试”的方法信息量不大。充其量它会告诉您特定的编译器允许给定的语法。它没有告诉你关于语言标准的语句的语义或正确性。
-
我想我可以澄清这个问题。正如 Trent 友好地指出的那样,它是否能够编译并不是那么重要。我很好奇幕后发生的事情,很难找到好的信息!
-
@Chris:我认为您接受的答案不是很好的信息。它甚至没有任何意义,并且遗漏了许多细节。