兄弟你是搞VC++的吧,告诉你个不幸的消息,为了避免内存泄露等原因,C#已取消了指针的概念,取而带之为代表元,相当于函数指针,IT IS SAFE.
    在声明代表元(delegate)时,只需指定delegate所指向的函数返回值类型,但是要记住哦,delegate不能有参数和返回值.

解决方案 »

  1.   

    这样试一下,看行不行:
    VCCOMLib.TwoParameterClass tpc=new VCCOMLib.TwoParameterClass();
     int[] iArray=new int[10];
     fixed(int[] pArray)
     {
       int size;
       tpc.ReturnArray(10,out size,pArray);
      }
      

  2.   

    楼上的兄弟,其实只要声明类或者函数为unsafe,还是可以在C#中用指针的。先不管什么指针还是安全的问题,我现在的最大困难是在C#中调用VC6写的组件时无法
    传出结构数组(如int数组)。
    哪位大哥大姐做过这样的事情的,能给出一个解决方法么?小弟在此万分感谢!!
    (如果允许修改原来的COM源代码的话,我倒是找到了一个解决方法,就是
    把[out]int** 改成[out,retval]int**, 此时一切问题都迎刃而解。但是我不希望
    修改原来的COM组件啊....因为有几百个这样的组件.....)PS: 我做的那个实验是一个错误的试验,请忽略之。
      

  3.   

    to 幕白:
    fixed语句出错啦:在固定语句中声明的局部变量类型必须是指针类型。
      

  4.   

    在COM版的A*兄的提示下,偶终于解决这个问题了。
    待会我会把找到的解决方法全盘托出!谢谢幕白兄的关注,送上50分!