非托管函数中的托管类参数
Managed class parameter in unmanaged function?
我正在尝试以托管C++重写我的 C# 库,该库与我的 C++ 实现有些合并。
我有一个托管基类,我也需要在非托管类中使用。
我有一个非托管类(包含在非托管 #pragma 中),它有一个将我的基类作为参数的函数。然后,它将其添加到稍后引用的向量中。
出于某种原因,它无法将gcroot
识别为关键字。我假设是因为它在 #pragma 非托管代码中。
我怎样才能做到这一点?
谢谢
亚历克斯
你是对的。#pragma 非托管中的任何内容都必须是"常规"C++(它不能包含 C++/clr 代码)。 如果您希望本机类使用 gcroot,请不要将代码放在非托管 #pragma(因为它确实包含托管代码)。
为什么需要它处于 #pragma 不受管理的状态?
相关文章:
- 将可变参数函数的参数封装在类实例中
- QML 使用带有参数C++函数
- 使用可变参数函数作为模板参数
- 如何在C++中伪造虚拟可变参数函数模板?
- 为什么可变参数函数不适用于模板
- C++ std::functional 中的可变参数函数模板
- 可变参数函数指针的定义对于VxWorks spyLib来说不清楚
- 使用可变参数函数覆盖具有不同函数签名的虚函数
- 考虑引用和常量的可变参数函数包装器
- 使用可变参数函数将整数和/或整数数组放入单个 int 数组中
- 在可变参数函数中转发特定范围的参数
- 通过引用传递参数;函数返回类型是否必须为 VOID?
- 使用带有一个参数函数的递归找到数字的平方
- 可变参数函数模板不能很好地使用 std::function 作为参数
- 多个可变参数函数的单个模板参数包?
- 参数数据类型未知的可变参数函数
- 可变参数函数参数包扩展
- 使用模板可变参数函数将多个参数传递给另一个函数
- 对可变参数函数的递归调用的链接器错误
- 通过像printf这样的可变参数函数传递一个带有常量字符*转换函数的类