내 C++ 템플릿 구조체에서 다른 할당자를 사용하는 다른 컨테이너 유형을 사용하고 싶습니다. 표준 : 벡터 및 thrust :: device_vector.C++ 템플릿 : 템플릿 컨테이너 용 할당 자
나는 "(2이어야한다, 1) 템플릿 인수 잘못된 번호"그렇지 않으면 내가 얻을, 명시 적으로 할당자를 지정해야합니다 : 다른 컨테이너 클래스가 다른 할당자를 사용하기 때문에
이template<typename T, template <typename, typename> class Container, typename Alloc>
struct wrap_into_container
{
typedef Container<T, Alloc> type;
};
, 내가 지정해야 이 템플릿을 사용할 때마다 해당 할당 자.
할당자를 지정하지 않고도 컨테이너 유형에 따라 어떻게 얻을 수 있습니까?
은 내가 각 컨테이너 유형에 대한 전문 특성 구조체를 사용하여 생각,하지만 난 그것을 구현하는 방법을 모르거나 가능 /도 유용 경우/...
UPDATE하지 않습니다 I
C++ 11에서
나는 C++ (11)를 사용할 수 없습니다를 참조하십시오, 나는 위의 질문이 추가되었습니다. 또한 이것이 할당자를 지정하지 않아도되는 것을 어떻게 보지 못합니까? –
기다리십시오. 할당자를 "외부에"전달하려면 ** 필요하다고 생각했습니다 **. 나는 편집하지. – sehe
당신이 맞습니다, C :: type은 실수 였고, 다른 메타 기능과 혼동되었습니다 :) –