Это обычно работает нормально, за исключением случаев, когда целевой тип - std :: Необязательно :
запускается на Godbolt
Код: Выделить всё
#include
#include
struct A
{
template
operator T() const
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79743460/how-do-i-make-a-templated-conversion-operator-to-stdoptionalt[/url]
Мобильная версия