サイズNの std::arrayを、標準コンストラクターを使用せずにオブジェクトで埋めたいと考えています。
std::array<non_std_con,N> myArray;
(std::array<kissfft<float>, 64>
具体的には私の場合です)
これにより、エラーが発生します
エラー: 削除された関数の使用 ...標準コンストラクター
設定
初期化リストを使用して配列を埋めることができます。
std::array<non_std_con,N> myArray{non_std_con{init1,init2},non_std_con{init1,init2},...}
初期化リストにはN 個のオブジェクトが必要です。
また、パラメーター パックを使用して配列を構築できます。
template <class... Params>
auto constexpr build_array(Params... params)
{
std::array<non_std_con, sizeof...(params)> myArray= {params...};
return myArray;
}
質問
これを逆に使用して、単一の引数からパラメーター パックを作成する方法はありますか。
std::array<non_std_con,N> buildArray(inti1,init2);
これにより、すべてのオブジェクトが {init1,init2} で初期化されるN non_std_conの配列が構築されます。
お時間をいただきありがとうございます