通过起别名实现一类函数指针效果

bool IsNpc(APawn* pPawn) const {return (NULL != Cast<ASA2NpcPawn>(pPawn));}
bool IsMonster(APawn* pPawn) const ...
bool IsPet...

typedef bool (*CheckPawnType)(APawn* pPawn) const;
void MaskPawn(ASA2Pawn* aPawn, CheckPawnType CheckCall)
{
      if(aPawn && (*CheckCall)(aPawn))
      {
           aPawn->bMask = true;
      }   
}

调用方式:

MaskPawn(aPawn, &IsNpc);

MaskPawn(aPawn, &IsPet);

猜你喜欢

转载自www.cnblogs.com/YoungBig/p/9343770.html