托管对象是不能定义成全局变量来访问的,解决这个问题的办法依然是gcroot ,代码如下:
gcroot<IMyClass^>* g_pMyClass = new gcroot<IMyClass^>;
void CreateMyClass()
{
*g_pMyClass = gcnew MyClass(); // *g_pMyClass得到的是IMyClass类型的追踪句柄
}
void main() {
CreateMyClass();
(*g_pMyClass)->fun();
}
gcroot<IMyClass^>* g_pMyClass = new gcroot<IMyClass^>;
void CreateMyClass()
{
*g_pMyClass = gcnew MyClass(); // *g_pMyClass得到的是IMyClass类型的追踪句柄
}
void main() {
CreateMyClass();
(*g_pMyClass)->fun();
}