静态成员函数
class A
{
public:
static bool IsTownLink(HANDLE pContext);
};
template<typename _Pr>
handle RandomGetLink(_Pr proc)
{
vector<handle> vecLink;
for (handle hLink = FirstLink(); hLink != INVALID_HANDLE; hLink = NextLink())
{
if (proc == NULL)
{
vecLink.push_back(hLink);
continue;
}
HANDLE pAppLink = GetLinkContext(hLink);
if ((*proc)(pAppLink))
{
vecLink.push_back(hLink);
}
}
}
handle hTownLink = RandomGetLink(&A::IsTownLink);
成员函数
class A
{
public:
static bool IsTownLink(HANDLE pContext);
};
template<class T, typename _Pr>
handle RandomGetLink(T* t, _Pr proc)
{
vector<handle> vecLink;
for (handle hLink = FirstLink(); hLink != INVALID_HANDLE; hLink = NextLink())
{
if (proc == NULL)
{
vecLink.push_back(hLink);
continue;
}
HANDLE pAppLink = GetLinkContext(hLink);
if ((t->*proc)(pAppLink))
{
vecLink.push_back(hLink);
}
}
}
A a;
handle hTownLink = a.RandomGetLink(&a, &A::IsTownLink);