sfinae

    1

    2答えて

    私はこの質問以下、固有の種類のテンプレートの特殊化といくつかの関数を記述しようとしています:Eigen: type deduction in template specialization of base-class 私はこれを書いた: #include <type_traits> #include <Eigen/Core> namespace isEigenPlainObjectBaseD

    6

    3答えて

    後で呼び出すためにstd::functionを格納するテンプレートクラスを作成しています。ここでは簡体コードは次のとおりです。 template <typename T> struct Test { void call(T type) { function(type); } std::function<void(T)> function;

    1

    2答えて

    今はSFINAEを習得しようとしていますが、強制的に問題があるようですが、std::uint16_tに対応していないので、hasRead<Y>とhasRead<Z>をどうすれば失敗するのですか? ? 私のコードに参加して、自分の望むように動作させるために何ができるのか見てみましょう!事前に 感謝:) #include <cstdint> #include <iostream> #include

    -1

    2答えて

    個々の列挙型の値に対してクラスメソッドを特化できますか?次のように は具体的に私は、列挙型とクラスを持っている: #include <iostream> #include <stdio.h> using namespace std; enum class Animal { dog, cat, bird }; class Sound { public: stati

    1

    1答えて

    SFINAEの仕組みを理解しようとしています。 私のニーズ: 私はactivateと呼ばれるメンバ関数を提供したりしないことがありタイプのセットを持っています。指定された型に対してactivateが存在する場合は、引数を受け入れることができます。私は、型のactivateが存在する場合はそれを転送する関数を書いています。それ以外の場合は単にreturn trueです。 私が試した: #includ

    1

    2答えて

    とインスタンス化しようとするテンプレートクラスC<T>が他のクラスAとBとしてあります。 C<T>はfooであり、その署名IはがAまたはBとしてインスタンス化されたかどうかに依存したいと考えます。たとえば、次のコードを考えます。 #include <iostream> #include <string> class A { public: void message() {

    3

    2答えて

    は、次のコードを考えてみましょう: template <class F, class... Args, class = std::void_t<>> struct is_invokable : std::false_type {}; template <class F, class... Args> struct is_invokable<F, Args..., std::void_t<s

    2

    2答えて

    クラスにはpushの2つの異なる実装があり、ブール値のテンプレート引数に基づいて選択します。そのように、this answerで説明したように、私はSFINAE原理を使用してみました: template<class T, bool foo=true> class Bar { template <> typename std::enable_if<foo>::type

    4

    1答えて

    #include <iostream> using namespace std; template <typename T> class test { public: T value; template <typename... Args, typename = decltype(T())> test(Args... args): value(args.