2009-11-02 3 views
3

템플릿 매개 변수로 COM 스마트 포인터 (_com_ptr_t에 대해 생성 된 래퍼 클래스 중 하나)를 사용하여 CList를 만들려고합니다.COM 스마트 포인터를 CList 컬렉션과 함께 사용할 수 있습니까?

CList<IDispatchPtr, IDispatchPtr> list; 

그러나 여러 컴파일 오류가 발생합니다.

일반 포인터를 사용할 때 컴파일 :

CList<IDispatch*, IDispatch*> list; 
SerializeElements를 호출하는 MFC 코드를 살펴보면 TYPE *이 걸리고 IDispatch** and IDispatchPtr* 사이에 변환이 없다는 것이 문제인 것처럼 보입니다. 이 주위에 어떤 방법이 있습니까?

답변

5

, 당신은 CAdapt<>에서 스마트 포인터를 포장해야합니다

CList<CAdapt<IDispatchPtr>, CAdapt<IDispatchPtr> > list; 
관련 문제