为什么这个模板代码不起作用?

时间:2012-12-29 01:56:11

标签: c++ templates

他们告诉我使用模板来查找总和。为什么这不起作用?感谢。

template <typename A, typename B, typename C>
auto add(A a, B b, C c = a + b) -> decltype(c) {
    return c;
}

我认为C ++ 11表示你可以在声明后使用参数。为什么这不起作用?

1 个答案:

答案 0 :(得分:3)

您不能将参数用作默认值。此外,模板类型推导不起作用。

就这样写:

template <typename A, typename B>
auto add(A a, B b) -> decltype(a + b) {
    return a + b;
}

希望C ++能尽快得到返回类型。