可変個引数テンプレートの引数を保存できるクラスを定義するにはどうすればよいですか?

xmllmx
template<typename... Args>
struct A
{
    Args&... args_;
    //
    // error : only function and template parameters can be parameter packs
    //

    A(Args&... args) : args_(args)
    {}
};

int main()
{
    auto a = A(1, 2, 3);
}

私のコンパイラがあるclang 5.0-std=c++1z

このような場合に可変個引数テンプレートの引数を保存できるクラスを定義するにはどうすればよいですか?

Rockets1111

私の知る限り、それは不可能です。std::tupleパラメータを保存するには、を使用する必要があります。

template<typename... Args>
struct A
{
    std::tuple<std::decay_t<Args>...> args_;

    A(Args&&... args) : args_(std::make_tuple(std::forward<Args>(args)...))
    {}
};

C ++ 17以降、std::apply関数をargs_解凍する代わりに、パラメーターとして関数を計算するために使用できます。

std::apply(func, args_);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

可変個引数テンプレート引数を持つクラスをenable_ifするにはどうすればよいですか?

分類Dev

可変個引数クラステンプレートで型のインデックスを取得するにはどうすればよいですか?

分類Dev

SWIGで可変個引数テンプレートクラスの可変個引数テンプレートメンバー関数をラップするにはどうすればよいですか?

分類Dev

可変個引数テンプレートクラスを1つのタイプに特化するにはどうすればよいですか?

分類Dev

可変個引数テンプレートの基本クラスへの呼び出しを拡張するにはどうすればよいですか?

分類Dev

親クラスの可変個引数テンプレート引数に対してのみネストされたクラステンプレートを有効にするにはどうすればよいですか?

分類Dev

n個を超える引数が指定されている場合にのみ可変個引数テンプレートコンストラクターをenable_ifするにはどうすればよいですか?

分類Dev

可変個引数テンプレートの引数から要素を削除するにはどうすればよいですか?

分類Dev

可変個引数テンプレート-渡された引数を格納する型を作成するにはどうすればよいですか

分類Dev

複数のコンストラクター引数を可変個引数テンプレートを介して配列初期化子リストに転送するにはどうすればよいですか?

分類Dev

C ++ 11可変個引数テンプレートを使用して、ベクトルのタプルに裏打ちされたタプルのベクトルを定義するにはどうすればよいですか?

分類Dev

C ++で可変個引数テンプレートコンストラクターを呼び出すにはどうすればよいですか?

分類Dev

要素の数に基づいて可変個引数テンプレートの再帰を終了するにはどうすればよいですか?

分類Dev

可変個引数テンプレートを使用して、さまざまなタイプのベクトルのベクトルを定義するにはどうすればよいですか?

分類Dev

可変個引数テンプレートクラスのテンプレートタイプにメタ関数を適用するにはどうすればよいですか?

分類Dev

可変個引数テンプレートで「暗黙の変換」を宣言するにはどうすればよいですか?

分類Dev

非可変テンプレートクラス内で可変個引数テンプレート関数を形成するにはどうすればよいですか?

分類Dev

テンプレートパラメータパックが関数の引数と一致するかどうかに基づいて、テンプレート関数の定義をゲートするにはどうすればよいですか?

分類Dev

可変個引数テンプレート変数を使用するこのテンプレートでコンパイルエラーを修正するにはどうすればよいですか?

分類Dev

Dで、タプル全体に可変個引数テンプレート制約を指定するにはどうすればよいですか?

分類Dev

可変個引数テンプレートを使用してstd :: variantをstd :: visitで続行するにはどうすればよいですか?

分類Dev

可変個引数を使用してこのテンプレートの特殊化をクラスの友達にするにはどうすればよいですか?

分類Dev

可変個引数マクロに渡されたマクロ引数の数をカウントするにはどうすればよいですか?

分類Dev

可変個引数マクロに渡された可変個引数の引数を合計するにはどうすればよいですか?

分類Dev

式とその評価をキャプチャする可変個引数マクロおよび/またはテンプレートおよび/または関数を実行するにはどうすればよいですか?

分類Dev

可変個引数テンプレートパラメータパックからインデックスで値を抽出するにはどうすればよいですか?

分類Dev

テンプレート引数を取る特定の形式でクラステンプレートを定義するにはどうすればよいですか?例:Fn(Args ...)

分類Dev

クラスの宣言に使用されるテンプレート引数の数を見つけるにはどうすればよいですか?

分類Dev

引数値をシフトし、左辺値と右辺値の両方を処理する可変個引数テンプレート関数を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    可変個引数テンプレート引数を持つクラスをenable_ifするにはどうすればよいですか?

  2. 2

    可変個引数クラステンプレートで型のインデックスを取得するにはどうすればよいですか?

  3. 3

    SWIGで可変個引数テンプレートクラスの可変個引数テンプレートメンバー関数をラップするにはどうすればよいですか?

  4. 4

    可変個引数テンプレートクラスを1つのタイプに特化するにはどうすればよいですか?

  5. 5

    可変個引数テンプレートの基本クラスへの呼び出しを拡張するにはどうすればよいですか?

  6. 6

    親クラスの可変個引数テンプレート引数に対してのみネストされたクラステンプレートを有効にするにはどうすればよいですか?

  7. 7

    n個を超える引数が指定されている場合にのみ可変個引数テンプレートコンストラクターをenable_ifするにはどうすればよいですか?

  8. 8

    可変個引数テンプレートの引数から要素を削除するにはどうすればよいですか?

  9. 9

    可変個引数テンプレート-渡された引数を格納する型を作成するにはどうすればよいですか

  10. 10

    複数のコンストラクター引数を可変個引数テンプレートを介して配列初期化子リストに転送するにはどうすればよいですか?

  11. 11

    C ++ 11可変個引数テンプレートを使用して、ベクトルのタプルに裏打ちされたタプルのベクトルを定義するにはどうすればよいですか?

  12. 12

    C ++で可変個引数テンプレートコンストラクターを呼び出すにはどうすればよいですか?

  13. 13

    要素の数に基づいて可変個引数テンプレートの再帰を終了するにはどうすればよいですか?

  14. 14

    可変個引数テンプレートを使用して、さまざまなタイプのベクトルのベクトルを定義するにはどうすればよいですか?

  15. 15

    可変個引数テンプレートクラスのテンプレートタイプにメタ関数を適用するにはどうすればよいですか?

  16. 16

    可変個引数テンプレートで「暗黙の変換」を宣言するにはどうすればよいですか?

  17. 17

    非可変テンプレートクラス内で可変個引数テンプレート関数を形成するにはどうすればよいですか?

  18. 18

    テンプレートパラメータパックが関数の引数と一致するかどうかに基づいて、テンプレート関数の定義をゲートするにはどうすればよいですか?

  19. 19

    可変個引数テンプレート変数を使用するこのテンプレートでコンパイルエラーを修正するにはどうすればよいですか?

  20. 20

    Dで、タプル全体に可変個引数テンプレート制約を指定するにはどうすればよいですか?

  21. 21

    可変個引数テンプレートを使用してstd :: variantをstd :: visitで続行するにはどうすればよいですか?

  22. 22

    可変個引数を使用してこのテンプレートの特殊化をクラスの友達にするにはどうすればよいですか?

  23. 23

    可変個引数マクロに渡されたマクロ引数の数をカウントするにはどうすればよいですか?

  24. 24

    可変個引数マクロに渡された可変個引数の引数を合計するにはどうすればよいですか?

  25. 25

    式とその評価をキャプチャする可変個引数マクロおよび/またはテンプレートおよび/または関数を実行するにはどうすればよいですか?

  26. 26

    可変個引数テンプレートパラメータパックからインデックスで値を抽出するにはどうすればよいですか?

  27. 27

    テンプレート引数を取る特定の形式でクラステンプレートを定義するにはどうすればよいですか?例:Fn(Args ...)

  28. 28

    クラスの宣言に使用されるテンプレート引数の数を見つけるにはどうすればよいですか?

  29. 29

    引数値をシフトし、左辺値と右辺値の両方を処理する可変個引数テンプレート関数を作成するにはどうすればよいですか?

ホットタグ

アーカイブ