Информация об изменениях

Сообщение Re[2]: Чёт не рублю в современном C++, поможите, кто может от 24.12.2020 6:56

Изменено 24.12.2020 6:57 Максим

Re[2]: Чёт не рублю в современном C++, поможите, кто может
M>
template< typename ResponseType >
M>inline
M>auto joinAndGetPayload( ResponseType response ) -> decltype(response->value.getPayload())
M>{
M>    response->join();
M>    return response->value.getPayload();
M>}

M>собралось, и работает вроде как надо.

А какая версия С++ используется? Разве начиная с С++14 не должно работать без trailing return type (так вроде -> называется)? Еще в книгах пишут, что если метод getPayload возвращает ссылочный тип, то это может быть не то, что вы хотите. Поэтому рекомендуют делать низведение

auto joinAndGetPayload( ResponseType response )-> typename std::decay<decltype(response->value.getPayload())>::type

Сейчас придут монстры типа RG45 и watchmaker и расскажут нам как делать правильно
Re[2]: Чёт не рублю в современном C++, поможите, кто может
M>
template< typename ResponseType >
M>inline
M>auto joinAndGetPayload( ResponseType response ) -> decltype(response->value.getPayload())
M>{
M>    response->join();
M>    return response->value.getPayload();
M>}

M>собралось, и работает вроде как надо.

А какая версия С++ используется? Разве начиная с С++14 не должно работать без trailing return type (так вроде -> называется)? Еще в книгах пишут, что если метод getPayload возвращает ссылочный тип, то это может быть не то, что вы хотите. Поэтому рекомендуют делать низведение

auto joinAndGetPayload( ResponseType response )-> typename std::decay<decltype(response->value.getPayload())>::type

Сейчас придут монстры типа RG45 и watchmaker и расскажут нам как делать правильно