멤버 함수가 존재하고 이 아닌지 확인하려면 어떻게해야합니까?이 상속되지 않았습니까? 나는 다음과 같은 예를 들어 모호성을 해결하려면이 필요합니다 유형 중 하나가있는 foo() 또는 bar() 멤버 함수. Caller은 주어진 유형에 대해 존재하는 call입니다. 그러나 DerivedWithBar은 BaseWithFoo에서 foo()을 상속하지만 자신의 ba
SFINAE를 이해하려고 노력하고 있는데 그 중 어떤 클래스에 대해서도 'print'메서드를 호출하는 간단한 오버로드 된 연산자 < <을 작성하려고했습니다. 방법. 나는 질문 Is it possible to write a template to check for a function's existence?에 대한 답변을 통해 읽기 및 쓰기 시도 : templa
다른 유형의 중첩 된 클래스 템플릿의 존재를 감지하는 유형 특성을 만들고 싶습니다. #include <cassert>
template<class T>
struct has_foo
{
// XXX what goes here?
};
struct with_foo
{
template<class T> struct foo {};
};
SFINAE가 "has_member"유형의 구조체에 적용되어 놀았습니다 (here). 그래서이 솔루션을 더 간단하게 만들기 위해 C++ 11의 일부 기능을 사용하려고했습니다. 열거 형의 존재 여부를 확인하는 데 몇 가지 문제가 있지만 여기서 논리 오류를 찾을 수 없습니다. 이 사용 GCC 4.9.2을 실행 #include<iostream>
templat
코드 : template<int I> void div(char(*)[I % 2 == 0] = 0) {
// this overload is selected when I is even
}
template<int I> void div(char(*)[I % 2 == 1] = 0) {
// this overload is selected when
뭔가 컨테이너인지 확인하고 싶습니다. 지금은 타입과 할당자를 갖도록 포맷 된 컨테이너에서 테스트하고 있습니다. 나의 궁극적 인 목표는 자체의 레이어를 포함 할 때 가장 안쪽 요소에 직접 반복을 허용 할 수있는 컨테이너 템플릿을 작성하는 방법을 배우는 것입니다. 예 : 각 컨테이너에 3 개의 컨테이너가 들어있는 컨테이너가 3 개있는 경우, 각 컨테이너에는 3
이 멤버 함수가 존재하는지 여부를 확인에 대한 대답 질문의 수입니다 : 예를 들어, Is it possible to write a template to check for a function's existence? 는하지만 기능이 과부하되는 경우이 방법이 실패합니다. 그 질문의 최상위 답변에서 약간 수정 된 코드입니다. #include <iostream>
주어진 열거 형 값을 기반으로 클래스 멤버 함수를 오버로드하거나 특수화 할 수 있습니까? enum class Type {
TypeA,
TypeB,
TypeC
};
class Foo {
public:
template <Type t, typename R = std::enable_if_t<t==Type::Ty
는 다음 사항을 고려 회원의 메소드 호출 당신이 상상할 수있는, has_my_method_callable_with_the_following_types가 type가 호출 할 수있는 방법이있는 경우 나 확인할 수 있습니다 SFINAE 구조체의 일종이다, template <typename type> class my_wrapper
{
type _;