Для информации есть специальная функция для создания shared_ptr
для нового выделенного объекта, в вашем случае:
std::make_shared<Dataset>()
Это вызовет конструктор Dataset()
.Если у вас есть второй конструктор, скажем, Dataset(int)
, вы можете написать std::make_shared<Dataset>(i)
с целым числом i.