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に制限されていると思います。明らかな回避策は2つの部分からなる構造ですが、私はこれを避けたいと思っていました。make_sharedの代わりにnewを使用する以外に、ここで他の可能性はありますか?
ありがとう。