Вот фрагмент, который не зависит от каких-либо внешних включений и ведет себя по-разному в msvc/gcc/clang.
Я оставил две альтернативы внутри main.
Он компилируется с помощью gcc в обеих альтернативах; не компилируется с msvc ни в одном из вариантов.
Однако он компилируется в clang, только если я создаю именованную переменную, а не временную.
Может ли кто-нибудь объяснить такое поведение?
Я тестировал -std=c++23 на clang 21.1.2, но с другими версиями он ведет себя аналогично.
Подробнее здесь: https://stackoverflow.com/questions/798 ... resolution