Здравствуйте, Marty, Вы писали:
M>Ну, пока решилось, были ошибочные представления о реализации make_shared в MSVC2019, из-за чего я пошел не тем путём
M>А, вспомнил, почему так получилось. Был код с make_shared, который в MSVC2019 не собирался, а у коллеги в MSVC2022 собирался. Мы поковыряли, и решили, что что-то не так с make_shared в MSVC2019
Ну вообще, все, что приходит на вход std::make_shared форвардится в конструкторы объекта создаваемого класса. Конструкторы могут быть разные — копирования, перемещения, преобразования, с одним параметром и с несколькими. Если что-то работает не так, как ожидается, то я стараюсь все такие моменты доводить до полной ясности. Вот когда есть небольшой понятный примерчик, который и там и сям работает, а не работает только на каком-то определенном компиляторе или режиме, вот тогда тогда только можно говорить, что это баг компилятора. А так это просто предположение, а точная причина так и не выяснена пока.