Size: a a a

2020 June 12

AD

Andrey Davydov in pro.cxx
Можно сделать так: https://godbolt.org/z/8je-na, но это противоречит философской идее концептов.
источник

Ct

Casual tears in pro.cxx
https://godbolt.org/z/DjHGgV а перегрузки концепты вообще не умеют резолвить что ли?
источник

AT

Andrew Titov in pro.cxx
источник

Ct

Casual tears in pro.cxx
Интересно. Как это решает проблему?
источник

AT

Andrew Titov in pro.cxx
Casual tears
Интересно. Как это решает проблему?
Какую проблему?
источник

Ct

Casual tears in pro.cxx
Andrew Titov
Какую проблему?
> return-type-requirement is not a type-constraint
Вот эту. Вообще как решает понятно. Вопрос скорее в том откуда она при добавлении перегрузки берется.
источник

Ct

Casual tears in pro.cxx
А, тьфу
источник

Ct

Casual tears in pro.cxx
это разница между -std=c++2a и -fconcepts
источник

AT

Andrew Titov in pro.cxx
Casual tears
это разница между -std=c++2a и -fconcepts
...а также между type и type-constraint.
источник

Ct

Casual tears in pro.cxx
Andrew Titov
...а также между type и type-constraint.
Скорее -fconcepts компилятор это рассахаривает в std::convertible_to<std::size_t>, а с c++2a - нет, потому что std::uint8_t receive(...) с -fconcepts вполне себе принимается.
источник

Ct

Casual tears in pro.cxx
Andrey Davydov
Можно сделать так: https://godbolt.org/z/8je-na, но это противоречит философской идее концептов.
https://godbolt.org/z/y3UwCf
Окей, а с перегрузками как жить?
источник

m

magras in pro.cxx
Так же как всегда: https://godbolt.org/z/jiniJE
источник

m

magras in pro.cxx
Там на самом деле сатик каст нужен:     static_cast<std::size_t (S::*)(std::uint8_t*, std::size_t)>(&S::receive);
источник

m

magras in pro.cxx
Кстати, почему сишный каст в этом случае не сработал?
источник

Ct

Casual tears in pro.cxx
magras
Там на самом деле сатик каст нужен:     static_cast<std::size_t (S::*)(std::uint8_t*, std::size_t)>(&S::receive);
Замчательно, спасибо! Итоговое решение: https://godbolt.org/z/L3Fy_y
источник

AT

Andrew Titov in pro.cxx
Casual tears
Замчательно, спасибо! Итоговое решение: https://godbolt.org/z/L3Fy_y
Круто!
источник

AT

Andrew Titov in pro.cxx
magras
Там на самом деле сатик каст нужен:     static_cast<std::size_t (S::*)(std::uint8_t*, std::size_t)>(&S::receive);
А я пытался скастовать socket.receive. :)
источник

A

Arthur in pro.cxx
Добрый день, поможете с настройкой gcc?
У меня стоит manjaro базовая, поверх base-devel
Если подрубаю через #include <math.h> компилятор сам не подтягивает библиотеку и ругается undefined reference, но если компилить с аргументом -lm, то всё ок, на других дистрибутивах раньше всё нормально компилировалось
источник

AS

Alexey Sokolovskiy in pro.cxx
Arthur
Добрый день, поможете с настройкой gcc?
У меня стоит manjaro базовая, поверх base-devel
Если подрубаю через #include <math.h> компилятор сам не подтягивает библиотеку и ругается undefined reference, но если компилить с аргументом -lm, то всё ок, на других дистрибутивах раньше всё нормально компилировалось
gcc требует флаг -lm для линковки математической библиотеки
В других дистрибутивах он по умолчанию включен скорее всего
источник

AT

Andrew Titov in pro.cxx
Arthur
Добрый день, поможете с настройкой gcc?
У меня стоит manjaro базовая, поверх base-devel
Если подрубаю через #include <math.h> компилятор сам не подтягивает библиотеку и ругается undefined reference, но если компилить с аргументом -lm, то всё ок, на других дистрибутивах раньше всё нормально компилировалось
Насколько я помню, опция -lm нужна была всегда.
источник