我有一个像这样的函数:
template <typename A, typename B>
void foo(const B & b)
{
...
}
A
应该是可选的;如果在函数调用中没有明确定义,它应该被设置为B
。目的是避免不必要的冗长代码:
int i;
// First variant: A is specified explicitly
foo<float>(i);
// Second variant: A is set to B implicitly
// This is because foo < int > (i) is unnecessarily verbose
foo(i);
不过,目前我还没有找到这样做的方法。有人能想出一个吗?
B
。 - Igor Gfoo<float>(i);
能够正常工作。 - NathanOliverB
而不是A
,所以foo<float>(i);
会使得A
=B
=float
而不是B
=int
和A
=float
。 - O'Neil