2012-05-24 2 views
0

관리 C++에서 다소 C++을 병합 한 C# 라이브러리를 다시 작성하려고합니다.관리되지 않는 함수의 관리되는 클래스 매개 변수?

관리되지 않는 클래스 내에서 사용해야하는 관리되는 기본 클래스가 있습니다.

내 기본 클래스를 매개 변수로 사용하는 관리되지 않는 클래스 (#pragma unmanaged로 묶여 있음)가 있습니다. 그런 다음 나중에 참조 할 벡터에 추가합니다.

어떤 이유로 인해 gcroot을 키워드로 인식하지 못합니다. #pragma unmanaged 코드에 있기 때문에 가정합니다.

어떻게하면됩니까?

감사합니다,

알렉스

답변

0

당신이 맞아요. #pragma unmanaged는 "일반"C++ (C++/clr 코드는 포함 할 수 없음)이어야합니다. 네이티브 클래스에서 gcroot를 사용하려면 #pragma unmanaged에 코드를 넣지 마십시오 (에 관리 코드가 포함되어 있기 때문에).

왜 #pragma unmanaged가 필요합니까?

+0

관리되지 않도록 전체 클래스가 필요합니다. 내가 틀린 일을하고 있다면 미안해. 나는 아직도 그걸 알아 내려고 노력하고있어. – Alex

+0

좋아, 신경 쓰지 마라. 단지 ref/value로 선언되지 않은 클래스/구조체는 자동으로 관리되지 않는다는 사실을 깨달았다. 그러나 Visual Studio는 여전히 gcroot를 키워드로 인식하지 못합니다. – Alex

+0

gcroot는 (는) 키워드가 아닙니다. # 을 #include해야합니다. –

관련 문제