怎么将派生类型的成员函数的指针加入到list中

如何将派生类型的成员函数的指针加入到list中
基类shape中有一个static   list <pfunc>   m_listFunc;
成员函数为virtual   shape*   PraseCharacter(char   c)=   0;
typedef   shape*   (*pfunc)(char   c);

然后将子类的函数实现加入到这个list中
CShape::m_listFunc.push_back(std::mem_fun(CLine::PraseCharacter));
error说推演不出来
请问应该怎么写?

我用的是vc6sp6   winxpsp2.
求教了!
谢谢!

------解决方案--------------------
函数对象能给函数指针赋值么?
应该用类成员函数指针吧
或者用boost::functional
------解决方案--------------------
指针就是指针,加个函数指针就行了

------解决方案--------------------
我记得用std::mem_fun里面的参数如果是类的成员函数的话,这个函数的定义是不能有参数的,例:virtual shape* PraseCharacter(char c);
如果是virtual shape* PraseCharacter();可能可以,我没试过,LZ可以试一下。

如果是必须有一个参数的话,你把std::mem_fun改成std::bind试一下,可能会帮的上忙