问题标签 [result-of]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
423 浏览

c++ - result_of 没有为 mem_fn 定义类型

我有以下代码:

第一次调用Apply编译正常,但如果我取消注释第二次调用,我会收到以下编译错误:

我以某种方式期望这两个调用可以互换使用,并且std::mem_fn“会做正确的事情”。谁能解释一下,这里发生了什么?

0 投票
1 回答
1729 浏览

c++11 - "std::result_of" 中没有名为 "type" 的类型;从重载函数中获取返回类型

我正在学习如何获取重载函数vstype的返回值。 test()test(double)

我从SO answer (by chris)修改了代码。

我得到一个编译错误。

错误:“std::result_of”中没有名为“type”的类型

我认为:-

  • TestType<...>是“可变参数模板”。
    用我自己的话来说,它就像一个包含任意数量参数的压缩缩写。

  • TestType<double>函数的idtest(double)。 _

  • std::result_of<TestType<double>>::type是的返回类型test(double)
    doubleDat应该是double

问题:为什么它不编译?如何解决?

我已经阅读了这些:-

线索:经过长时间的搜索,我闻到我的代码遭受“最令人烦恼的解析”的微弱气味。

0 投票
1 回答
435 浏览

c++ - 将 std::result_of 与重载方法一起使用

我向现有类添加了一个重载方法,这会导致我们的单元测试中出现编译错误。

我已经用以下代码复制了这个问题:

我需要对未编译的行进行哪些更改,以便我可以测试重载方法的返回?

0 投票
2 回答
159 浏览

c++ - gcc 6.1 std::result_of 编译错误

考虑一个小的独立用例,其中我想确定一个类型是完整的还是不完整的

gcc 4.9.3这与带有--std=c++11标志的编译很好。但是,使用gcc 6.1and它会--std=c++11产生编译错误

我在这里想念什么?有什么可能的解决方法?

0 投票
3 回答
4660 浏览

c++ - 在 C++17 中不推荐使用 `std::result_of` 的原因是什么?

我看到std::result_of在 C++17 中被弃用了。

  • std::result_of在 C++17中弃用的原因是什么?
  • 我也想知道 和 之间的std::result_of区别std::invoke_result
0 投票
1 回答
6988 浏览

c++ - 使用invoke_result的正确方法?

cppreference上,写着正确的使用方法std::result_of是:

我想知道std::invoke_result_t应该如何使用 invoke_result_t::

或者:

0 投票
1 回答
610 浏览

c++ - 得到 std::bind 的结果类型

我正在尝试将结果类型的 std::bind 与 lambda 结合使用。我试过以下两种:

无论出于何种原因,这都不起作用。我也尝试过使用 decltype:

这不起作用,因为当我将此模板函数与 lambda f 一起使用时,它会抱怨 lambdas 有一个已删除的默认构造函数。

你能帮帮我吗?我试图在网上找到答案,但没有成功。

谢谢!

0 投票
1 回答
70 浏览

c++ - 对成员类型的成员方法使用 std::result_of<>

我正在使用一个 HashMap 类型,它没有将其 KeyType 指定为公共成员,只有 ValueType。检索 KeyType 的一种方法是使用std::result_ofHashMap<>::Entry::GetKey()方法。我无法让它在模板中工作。

这工作正常:

但是我将如何从M模板类型参数所在的模板中做到这一点?我尝试使用上述方法并插入typename关键字但没有成功。

0 投票
0 回答
112 浏览

c++11 - 如何使用 std::result_of 返回函数类型而不是 void

我正在尝试获取我绑定的函数的返回类型。在这种情况下,我希望看到GetFactorialResult(int) 的返回类型。

输出

当我打印 的类型时boundTask,我看到了我的期望:

std::_Bind<\main::{lambda(int)#1} (int)> (反斜杠不存在,但不知道如何在没有它的情况下显示它)。

我假设我因为我正在做而变得无效decltype(boundTask)(),但是如果我删除括号,它将无法编译。

我只能访问 c++11 功能。

0 投票
1 回答
1358 浏览

c++ - 推断成员函数的返回类型

在模板函数中,我试图创建一个std::vector依赖value_type于函数模板参数的成员函数的函数。此模板参数被限制为包含具有特定功能的特定类型的唯一指针的向量。例如:

现在该函数func需要检索 的成员函数的返回member_func类型Widget。请注意,Widget也可以是不同的类型,只要它具有成员函数member_func

我已经尝试了各种方法,例如和std::result_of,但我似乎无法让它发挥作用。这甚至可能吗?如果可以,如何实现?std::invoke_resultdecltype