2012-05-29 2 views
3

나는 현재 클래스의 생성자가 있습니다C++ : SFINAE 임의 발전기/엔진

template<class TX, class TY> MyClass(const TX &x, const TY &y) 

을 나를이 개 값을 기준으로 내 수업을 구성 할 수 있습니다.

나는 C++ 2011 그 형태로는 처음과 같은 일 때문이 마지막 생성자를 수정하는 방법

template<class TG, class TE> MyClass(TG &generator, TE &engine) 

에서 임의 발전기/엔진 내 수업을 구성 할 수 있도록하고 싶습니다

하나는 컴파일러 용입니다. 나는 SFINAE를 사용할 수 있다고 생각하지만 어떻게해야할지 모르겠다.

대단히 감사합니다!

답변

3

TX 및 TY 인수는 첫 번째 생성자에서 무엇을 나타 냅니까? SFINAE를 사용하려면 멤버 변수 또는 함수와 같이 TX 및 TY와 확실히 구분되는 생성기 및 엔진의 API 측면을 찾아야합니다. seed 함수가 좋은 후보가 될 수 있습니다. 알려진 서명이있는 구성원 함수를 확인하는 일반적인 기술은 여기에서 다른 대답으로 설명되어 있습니다. Is it possible to write a template to check for a function's existence?

관련 문제