我是托管代码的新手,我需要使用 C++/CLI 将指向不同结构的指针数组传递给 Windows 窗体,但它不起作用!
我的问题出在托管数组中,我怎样才能正确访问它的元素。
代码序列:
array<void*> ^ ptr;//here ptr value is undefined , type array<void*> ^
ptr = gcnew array<void*> (2);// length 0x2 , 0x0 and 0x1 values are undefined of type void
class1::struct1 structObj1;
class2::struct2 structObj2;
ptr[0] = &structObj1;// value is empty of type void!!
ptr[1] = &structObj2;//value is empty of type void!!
当我看 ptr 时,我发现了上面的评论。
请注意,重复代码但使用非托管数组可能有效
void* ptr[2];//here ptr value is undefined , type void*[]
class1::struct1 structObj1;
class2::struct2 structObj2;
ptr[0] = &structObj1;// value is address1 of type void*
ptr[1] = &structObj2;//value is address2 of type void*
谁能看出问题出在哪里??
我是否需要使用非托管数组然后转换为托管?如果是,我该怎么做?