Ошибка: нет типа с именем «type» в «классе std::result_of<std::function<int(std::pair<int, int>&)>(std::pair<int, int>)>C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка: нет типа с именем «type» в «классе std::result_of<std::function<int(std::pair<int, int>&)>(std::pair<int, int>)>

Сообщение Anonymous »

Я скомпилировал тестовый пример, когда прочитал и получил ошибку, код следующий:

Код: Выделить всё

#include 
#include 
#include 

10    template 
11    class Task {
12        std::function m_fn;
13
14    public:
15        typedef R return_type;
16
17      template
18      auto Then(F&& f) {
19          using ReturnType = typename std::result_of::type;
20          auto func = std::move(m_fn);
21          return Task([func, &f](Args&&... args)
22          {
23              std::future lastf = std::async(func, std::forward(args)...);
24              return std::async(f, lastf.get()).get();
25          });     }
Ошибка компиляции следующим образом:

Код: Выделить всё

Task.hpp: In instantiation of ‘auto Cosmos::Task::Then(F&&) [with F = std::function; R = std::pair; Args = {}]’: TaskCpp.cpp:93:7:   required from here Task.hpp:19:10: error: no type named ‘type’ in ‘class std::result_of’ 19 |    using ReturnType = typename std::result_of::type; |          ^~~~~~~~~~ Task.hpp:21:11: error: no type named ‘type’ in ‘class std::result_of’ 21 |    return Task([func, &f](Args&&... args) |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 |    { |    ~ 23 |     std::future lastf = std::async(func, std::forward(args)...); |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24 |     return std::async(f, lastf.get()).get(); |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 |    }); |    ~~ Task.hpp:24:22: error: no matching function for call to ‘async(std::function&, std::pair)’ 24 |     return std::async(f, lastf.get()).get();
попробуйте добавить "std::function" в то время все равно не работает, ищите в Интернете , нет ответа

Подробнее здесь: https://stackoverflow.com/questions/787 ... intstdpair
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Нет типа с именем «type» в «class std::result_of(int)>»
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, выходящая из INT, более 99 [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, пройдя в INTS больше 99
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • C# Async Function Function Function
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как отправить сигнал "ctrl+c" / sigint, чтобы Gradle javaexec type type type jvm?
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»