0

我正在尝试在托管 C++ 中重写我的 C# 库,在某种程度上与我的 C++ 实现合并。

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

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

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

我怎样才能做到这一点?

谢谢,

亚历克斯

4

1 回答 1

0

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

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

于 2012-05-24T20:16:47.687 回答