繁体   English   中英

推导返回类型为模板参数方法的类型

[英]deducing return type to be type of template arguments method

我很难用英语确切地解释我的意思,但是以下不可编译的代码可能说明了我的意思:

template<class T>
auto fn(T t) -> decltype(T::method_call())
{
    return t.method_call();
}

基本上,我希望函数返回T的方法返回的任何值。 实现此目的的语法是什么?

在C ++ 14中,您可以使用推导的返回类型简单地说:

template <typename T>
decltype(auto) fn(T t) { return t.method_call(); }

您还可以使用尾随返回类型指定相同的内容:

template <typename T>
auto fn(T t) -> decltype(t.method_call()) { return t.method_call(); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM