Правильный способ вызова оператора преобразования, возвращающего ссылкуC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Правильный способ вызова оператора преобразования, возвращающего ссылку

Сообщение Anonymous »

Я не понимаю, почему в этом примере приходится использовать static_cast(foo) для получения ссылки:

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

    struct Foo
{
operator int&() { return bar; }
int bar{42};
};

void fuz()
{
Foo foo;
auto& baz{static_cast(foo)};      // Works
const auto& biz{static_cast(foo)}; // Works
auto& buz{static_cast(foo)};       //  

Подробнее здесь: [url]https://stackoverflow.com/questions/79812164/correct-way-to-invoke-the-conversion-operator-returning-a-reference[/url]
Ответить

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

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

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

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

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