Re[2]: Чёт не рублю в современном C++, поможите, кто может
От: Максим Россия  
Дата: 24.12.20 06:56
Оценка: 9 (2)
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 и расскажут нам как делать правильно
Errare humanum est
Отредактировано 24.12.2020 6:58 Максим . Предыдущая версия . Еще …
Отредактировано 24.12.2020 6:57 Максим . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.