在VC6.0中把函数名作为参数传递给另一个函数时出现的错误如下error C2664: 'Start' : cannot convert parameter 1 from 'void (struct deliverstr)' to 'void (__cdecl *)(struct deliverstr)'
其中void PDeliver(DeliverStr  deliver)是一个函数,把改方法名传递给Start函数  如下:
Start(PDeliver);Start函数的声明为
int Start(void (*m_PDeliver)(DeliverStr  deliver));
拜请高手解决

解决方案 »

  1.   

    使用Start(&PDeliver)调用试试看。
      

  2.   

    奇了怪了,我试了试 没有错误
    我怀疑这个函数void PDeliver(DeliverStr deliver)你引用的有误
      

  3.   

    问题是在不使用类的情况下可以正常调用
    而在VC下把void PDeliver(DeliverStr  deliver)定义在类里面,就不能正常调用了啊
      

  4.   

    因为你的函数声明方式不匹配这样声明函数PDeliver:
    void __cdecl PDeliver(DeliverStr deliver)
      

  5.   

    已经解决问题了,从概念上讲,普通函数和类成员函数是两个完全不同的事情
    使成员函数为静态,static void PDeliver(DeliverStr  deliver);就解决问题了