13得票1回答
自动返回类型无法推导引用。

I have the following code: #include <iostream> struct C { int a; int& get() { return a; } }; struct D { int a; int get(...

13得票2回答
如何在类内部获取成员函数的返回类型?

以下程序在使用clang编译时会出现编译错误,但在其他编译器上则可以通过:#include <utility> struct foo { auto bar() -> decltype(0) { return 0; } using bar_type ...

12得票1回答
能否忽略C++11的尾返回类型特性,转而使用C++14的函数返回类型推导特性?

当我省略表达式的返回类型时 C++11中的以下代码: auto function(X x, Y y) -> decltype(x + y) { return x + y; } 等同于以下 C++14 代码: decltype(auto) function(X x, Y ...

10得票2回答
C++14中使用尾返回类型语法的合法用途

现在还有必要使用以下语法吗: template<typename T> auto access(T& t, int i) -> decltype(t[i]) { return t[i]; } 现在我们可以使用: template<typena...

9得票1回答
模板友元函数和返回类型推导

注意:这个问题与类内友元函数的返回类型推断非常相似,但我在那里没有找到解决我的问题的答案。 使用clang 3.4测试了std=c++1y,以及clang 3.5测试了std=c++14和std=c++1z。 这段代码可以编译: #include <iostream> te...

9得票3回答
为什么返回具有多个返回路径的lambda的lambda会导致类型推断错误?

I have the following code: int main() { auto f = [] { if (1) return [] { return 1; }; else return [] { return 2; }; }; ...

9得票1回答
Doxygen如何处理使用尾随返回类型定义的函数

doxygen 1.8.2版本的变更日志指出,已添加对C++11尾随返回类型的支持。然而,使用doxygen 1.8.4版本解析我的代码时,返回类型为auto,而不是尾随返回类型。 是否需要设置某些选项才能使其正常工作? 编辑: 如下图所示,可以看到返回类型为auto,我认为这不是正确的...

8得票3回答
变参模板递归返回类型推导编译错误

下面的代码为什么无法编译? template <typename T> T sum(T t){ return t; } template <typename T, typename ...U> auto sum(T t, U... u) -> decl...

8得票2回答
从auto返回类型推断类型的方法是什么?

这个答案有一个像这样的代码片段: template<class T, class F> auto f(std::vector<T> v, F fun) -> decltype( bool( fun(v[0] ) ), void() ) { // .....

7得票2回答
函数参数的类型是否可推导?

我有一个使用返回代码的类: class MyClass { // ... public: // ValueType get_value() const; // usual code ErrorCode get_value(ValueTyp...