문제

매개 변수로 문자열 목록을 취하는 관리 된 C ++ 메소드가 있습니다^

이 메소드는 문자열의 메모리에 포인터로 관리되지 않은 구조를 채워야합니다^

ptrtoStringchars를 사용하여 WCHAR*를 추출하는 것은 간단합니다

그러나 나는 설계 시간에 할당 할 pin_ptr의 수를 모른다

아래 목록 <pin_ptr <const wchar_t >>와 비슷한 내용으로 고정 된 PTR을 목록에 추가하고 싶습니다.

이 작업을 수행하면 오류 C3225 : 't'에 대한 일반 유형 인수는 'cli :: pin_ptr'가 될 수 없으므로 값 유형이거나 참조의 핸들이어야합니다.

이것을 할 방법이 있습니까? 관리 된 C ++에서

도움이 되었습니까?

해결책

글쎄, 당신은 몇 가지 문제가 있습니다. 첫 번째 PIN_PTR은 관리 된 유형이 아니므로 목록에 넣을 수 없습니다. 대신 C ++ 벡터를 사용할 수 있습니다.

고정 포인터는 스택의 비 정적 로컬 변수로만 선언 할 수 있습니다.

~에서 http://msdn.microsoft.com/en-us/library/1dz8byfh%28vs.80%29.aspx.

대신 사용해야 할 것입니다 gchandles a gchandletype 직접 고정 된.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top