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