树类中遍历的参数中不能用类本身的函数?气死人了!!
PC老头子 2005-10-27 12:03:26 class CMyTreeCtrl : public CTreeCtrl
{
public:
void V(HTREEITEM& hItem,void (*visit)(HTREEITEM&)) // 遍历
{ };
void t(HTREEITEM& hItem) // 操作
{
V(hItem,_t(hItem));
};
void _t(HTREEITEM& hItem)// 遍历用的处理函数
{ };
}
编译时V(hItem,_t(hItem));出错:
error C2664: 'V' : cannot convert parameter 2 from 'void' to 'void (__cdecl *)(struct _TREEITEM *& )'
若把void _t(HTREEITEM& hItem)不作为该类的成员函数就可以。但这不符合我的封装要求啊!
记得前一段时间已经搞定了,但改正的代码已经删了,现在怎么也想不起来改哪,气死人了!!。肯定是有些知识实际上没有想透。