【发布时间】:2015-02-16 12:27:36
【问题描述】:
我有非托管类。在那个类中,我有一个托管对象。现在我想要一个 pin_ptr 用于我的非托管类中的托管对象。当我尝试这样做时,我收到此错误“错误 C3265:无法在非托管 ProjectWrapper 中声明托管 _pinnedProject 我该如何实现?
这是代码。
class ProjectWrapper
{
private:
msclr::auto_gcroot<Project^> _project; // --> This works fine,
pin_ptr<msclr::auto_gcroot<Project^>> _pinnedProject; // ---> This gives error
public:
ProjectWrapper()
{
_project = gcnew Project();
pin_ptr<msclr::auto_gcroot<Project^>> anotherPinnedProject = &_project; // --> This one works,
//_pinnedProject = _project; // --> I want to use this instead of above live,
}
}
【问题讨论】:
-
@KerrekSB 删除了标签。被误加了,Project^是c#类。 ProjectWrapper 是 c++,
-
这个链接可以帮助你link你是否包含了所有需要的头文件