EXE 使用动态MFC库,DLL 使用 MFC Extension DLL,一切OK。

解决方案 »

  1.   

    dllfunc传入一个指针值不行,你不是在DLL中分配存储空间嘛,那么就要传入指针的引用,要不x这个指针值没有变的,并没有指到DLL中分配的堆空间上,当然delete会出错
      

  2.   

    delete x有时出错,有时不出错,是因为你并没有初始化x值,就看你当时x的值是否恰好指到了堆空间上
      

  3.   

    首先谢谢WizardK(要求不高,挣够1千万我就退休),
    我简化了程序,所以不注意除了错误,在调用dllfunc前,应该有一句x=new Struct Student;然后在dllfunc中
    y=new struct Student;
    x->next=y;
    也就是dllfunc以x为首生成一个链表,
    然后dllfunc返回,在外部删除该链表所占的空间,delete 时就会出错。