質問: std::make_shared(Owner,SpriteList,NameList); //操作 } ```
回答: `std::vector Vals;` みたいなのに要素を追加するのと一緒です.例えば, ``` int NewElemValue = 10; //vectorに突っ込むデータはint型 Vals.push_back( NewElemValue ); ``` とかするでしょう. `std::vector NameList;` ならば,同様に, ``` const char *NewElemValue = ???; //vectorに突っ込むデータは const char* 型 NameList.push_back( NewElemValue ); ``` という感じです. **で,`???`の部分を一体どうするつもりなんですか?** という.(そこの計画は,あなたにしかわからないところ.) vectorの要素の型が `const char*` というポインタなので,おそらくは,何らかの領域を指し示すポインタ値にすることを考えておられるのだろう,と想像しますが. 例えば, ``` //(1)なんか十分なサイズのバッファを用意して... char *pMemoryBuffer = new char[ 100 ]; //(2)そのバッファに何かデータを入れるなりして... //(略)パスをコピーする? //(3)バッファの先頭を示すポインタ値をvectorに突っ込む NameList.push_back( pMemoryBuffer ); //で,newで確保したバッファはいつdelete[] するのだろうか? ``` みたいな話を考えているのでしょうか? (これだと上記コード末尾のコメントのように,面倒な話がついて回ることになりますが)