sfinae

    1

    1답변

    SFINAE 작동 방식을 이해하려고합니다. 내 요구 : 나는 activate라는 멤버 함수를 제공하거나하지 않을 수 있습니다 종류의 세트가있다. 주어진 유형에 대해 activate이 존재하면 인수를 허용 할 수 있습니다. 형식의 activate (있는 경우)으로 전달하는 함수를 작성하고 싶다면 그렇지 않으면 간단히 return true입니다. #includ

    1

    2답변

    템플릿 클래스 C<T>A 및 B으로 으로 인스턴스화하려는 템플릿 클래스가 있습니다. C<T>은 foo의 메소드를 가지며, 그 서명은 T이 A 또는 B으로 인스턴스화되었는지 여부에 따라 달라지기를 원합니다. 예를 들어, 다음 코드를 고려하십시오. #include <iostream> #include <string> class A { public:

    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<std::

    2

    2답변

    클래스에 push의 두 가지 구현이 있고 부울 템플릿 인수를 기반으로 선택하겠습니다. 과 같이, this answer에 설명 된대로 나는 SFINAE 원리를 사용하여 시도 : template<class T, bool foo=true> class Bar { template <> typename std::enable_if<foo>::type

    1

    2답변

    나는이 질문에 다음, 아이겐 유형에 대한 템플릿 특수화 몇 가지 함수를 작성하는 것을 시도하고있다 : Eigen: type deduction in template specialization of base-class 나는이 쓴 : #include <type_traits> #include <Eigen/Core> namespace isEigenPlainOb

    2

    1답변

    나는 getVector 멤버 함수를 전문으로하고 싶습니다. 이것을 위해 SFINAE를 사용하려고합니다. Dim이 3 이상인 경우에만 작동합니다. template <size_t Dim> class Mat { ... template <size_t VDim, typename enable_if<(Dim > 1 && VDim == 0)>::ty

    4

    2답변

    나는 책을 읽고있다. C++ 템플릿. SFINAE (대체 오류는 오류가 아님)에 대한 설명은 기능 유형을 감지하는 데 사용될 수 있습니다. 코드 예제 : template <typename T> class IsFunctionT { private: typedef char One; typedef struct { char a[2]; } Two

    11

    2답변

    에 구성원 함수 foo이 있고이 함수가 호출되지 않는 경우 인수 T를 사용하여 템플릿 함수를 작성할 수 있습니까? 무료 함수 foo(T) (그리고 둘 다 존재하지 않으면 컴파일하지 못합니다)? 뭔가 같은 : template<typename T> int call_foo(T t) { // if T::foo() exists return t.foo()

    6

    3답변

    나중에 호출하기 위해 std::function을 저장하는 템플릿 클래스를 작성하고 있습니다. 여기에 simplifed 코드는 다음과 같습니다 template <typename T> struct Test { void call(T type) { function(type); } std::function<void(

    1

    2답변

    지금은 SFINAE를 배우려고합니다.하지만 강요에 문제가있는 것 같습니다. hasRead<Y> 및 hasRead<Z>은 메서드 인수가 std::uint16_t에 해당하지 않으므로 어떻게해야합니까? ? 내가 원하는대로 작동하도록하려면 어떻게해야할까요? 사전 : #include <cstdint> #include <iostream> #include <util