При отсутствии вариативных шаблонов (по-прежнему!) в Visual Studio 2010/2011 конструктор, принимающий множество параметров, может быть проблематичным. Например, следующее не будет компилироваться:
MyMaterials.push_back(std::make_shared<Material>(MyFacade,
name,
ambient,
diffuse,
specular,
emissive,
opacity,
shininess,
shininessStrength,
reflectivity,
bumpScaling,
maps,
mapFlags));
, потому что у него 13 параметров, и я думаю, что make_shared ограничен от arg0 до arg9. Очевидным обходным решением является конструкция из двух частей, но я надеялся избежать этого. Есть ли здесь какая-то другая возможность, кроме использования newвместо make_shared?
Спасибо.