enable-if

    5

    2答えて

    std::enable_ifをC++ 11でよりよく理解しようとしていて、最小の例を書くことを試みています。クラスがAであり、メンバ関数がvoid foo()で、クラステンプレートのタイプTに基づく実装。 以下のコードは望ましい結果を示していますが、まだ完全に理解していません。バージョンV2は動作しますが、V1では動作しません「冗長」タイプUが必要なのはなぜですか? #include <iostr

    0

    1答えて

    私は、別の型Tを与えられた記憶域タイプを指定するテンプレートを定義しようとしています。すべての算術型をcatchするためにenable_ifを使いたいと思います。以下は、テンプレートが2つのパラメータで再宣言されるという私の試みです。プライマリテンプレートに2番目のダミーのparmを追加しようとしましたが、別のエラーが発生しました。これはどうすればできますか? #include <string>

    0

    1答えて

    大きなコードベースをclang(g ++およびintel C++でビルド)に移植しています。次のスニペットに似たコードがコンパイルされ、g++ 4.8 - 6.2で動作しますが、clang 3.8 and 3.9でコンパイルできません。もしこと #include <algorithm> #include <iostream> #include <type_traits> template

    1

    2答えて

    私はオブジェクトのデータベースを持っていて、コンパイル時に特定の型の数を数えたいと思いますが、これをコンパイルするのに少し問題があります。 ここまでは私がこれまで試みてきたものの例を示していますが、これは "エラー:関数 'do_count'を呼び出してテンプレート定義に表示されず、引数依存ルックアップによっても見つかりません" 良い方法がありますか? #include <cstdint> #i

    0

    1答えて

    との条件付きでのstd ::条件のようですが、定義されていないクラスに対してコンパイル時のエラーなし、のstd :: enable_if_and_elseのようなものを作成することも可能です。ここで 例です。 static constexpr bool myExpr = true; struct A {}; struct B; struct C : std::condition

    0

    1答えて

    テンプレートクラスを作成しようとしています.1つまたは複数のタイプでインスタンス化されているかどうかによって、異なる署名付きのコールバックを実装します。 struct NoIntermediate { }; template<typename R, typename I> struct ParserCallbackSwitch { using type = std::func

    3

    1答えて

    私は異なるビュータイプを持っています。タイプはそれぞれstd::size_t View::dimensionメンバー定数とtypename View::value_typeメンバータイプです。 FromとTo両方は、ビュー(is_view<>を使用して検証)であり、Fromの含有量はToに割り当てることができる場合 以下コンパイル型チェックが確認しなければなりません。 (同じ次元と変換可能な値の型

    5

    3答えて

    ジェネリック型を文字列に変換する関数を実装しようとしました。積分型は、std::string()を使用してstd::to_string()、文字列と文字を使用して、要素ごとにベクトルを、他の方法の1つ(内容に応じて)を使用して文字列に変換する必要があります。 これは私が持っているものです。 //Arithmetic types template<class T> typename std:

    4

    1答えて

    私はenable_ifの使い方を学ぶ必要があります。このために、私はenable_ifを使ってdistance関数を再実装する必要があります。私はこれを試してみました: #include <iostream> #include <vector> #include <list> #include <utility> #include <type_traits> template<clas

    1

    3答えて

    持つすべての入力やチェックボックスを有効/無効にします。チェックボックスをオンにすると、すべてのテキスト入力フィールドとその他のすべてのチェックボックス(チェックされたものを除く)が無効になります。このチェックボックスをオフにすると、無効になっているすべてのフィールドを再度有効にする必要があります。 この次のコードで動作する(図示のみ最初の3行である): <form id="myForm">