开发者社区 问答 正文

如果模板函数的返回类型依赖于函数体内的表达式,该如何声明返回类型?

如果模板函数的返回类型依赖于函数体内的表达式,该如何声明返回类型?

展开
收起
三分钟热度的鱼 2024-05-17 14:29:34 48 分享 版权
1 条回答
写回答
取消 提交回答
  • 在C++11及更高版本中,可以使用返回类型后置的语法,结合decltype来声明返回类型。例如:

    template <typename T1, typename T2>  
    auto funcName(T1 x, T2 y) -> decltype(x + y) {  
        return x + y;  
    }
    

    在C++14及以后的版本中,如果返回类型可以通过auto推导出来,也可以省略-> decltype(...)部分。

    2024-05-17 15:07:10
    赞同 展开评论
问答地址: