非托管函数中的托管类参数?

时间:2012-05-24 19:59:01

标签: c++ c++-cli

我试图在托管C ++中重新编写我的C#库,有点与我的C ++实现合并。

我有一个托管基类,我也需要在非托管类中使用。

我有一个非托管类(包含在#pragma unmanaged中),它有一个将我的基类作为参数的函数。然后将其添加到稍后将引用的向量中。

由于某种原因,它无法将gcroot识别为关键字。我假设因为它在#pragma非托管代码中。

我该如何做到这一点?

谢谢,

亚历

1 个答案:

答案 0 :(得分:0)

你是对的。 #pragma unmanaged中的任何内容都必须是“常规”C ++(它不能包含C ++ / clr代码)。如果您希望本机类使用gcroot,只是不要将代码放在#pragma unmanaged中(因为它 包含托管代码)。

为什么你需要它在#pragma unmanaged?