C++11 在特定情况下避免冗余 Return 类型

C++11 Avoiding Redundant Return Type in specific Situation

好的,谢谢所有看到这里的人。我已经在下面的 link 重新创建了准确的场景以便于查看,所以我将注释掉我的原始文本,因为它不清楚。 http://cpp.sh/5lp4l

在评论部分我展示了调用 make_some(32, std::string{"hi"}) 没有指定调用的数据类型声明。我意识到这看起来很疯狂,远远超出了我的预期用例,根据参数自动推断复合类型(推断我想要数据,基于 int/string)是不必要的,或者是一个好主意。

您是否尝试过使用 auto 作为类型声明?

同时 decltype (variable_here) variable_to_inherit_type; 将第二个变量的类型设置为第一个变量的类型。您可以先使用此方法将类型设置为与传入变量相同。

我不确定这是否适用于您的情况,但如果有帮助请告诉我!

编译器是对的。 TArgs 之间没有给出任何关系。因此,它无法确定 QueryResult<T> 的含义。

您显然期望 somefn 的 return 类型强制 T 成为 int, int。由于两个原因,这显然是不可能的:T 表示单一类型,并且 return 语句没有机制以某种方式影响 make_some.

的模板实例化