用C++实现C++委托创建
我在这里问了一个类似的问题,但我需要做一个新的限制。我会很快重申这个问题 我想知道是否有一种方法可以模仿C中C的这种委托行为++用C++实现C++委托创建,c++,boost,C++,Boost,我在这里问了一个类似的问题,但我需要做一个新的限制。我会很快重申这个问题 我想知道是否有一种方法可以模仿C中C的这种委托行为++ new ModifyTargetingStatus("Reversal", "Reverses physical attacks back at the user", -1, new List<CALL_CONDITION>(){CALL_CONDITION.Targetted}, attemptChange: delegate(CharacterMove
new ModifyTargetingStatus("Reversal", "Reverses physical attacks back at the user", -1, new List<CALL_CONDITION>(){CALL_CONDITION.Targetted}, attemptChange: delegate(CharacterMove move, BattleCharacter[] users, ref BattleCharacter[] targets, BattleCharacter holder, BattleField field)
{
if (targets != null && targets.Length == 1 && targets[0] == holder &&
(move.MoveClass == MOVE_CLASS.MC_BASIC_ATTACK ||
move.MoveClass == MOVE_CLASS.MC_STACKED_ATTACK) &&
!move.MoveFlags.Contains(MOVE_FLAG.MF_UNREFLECTABLE))
{
targets = users;
move.Reflected = true;
return true;
}
return false;
})
我需要能够在不使用C++0x的情况下做到这一点,因为我被困在一个不支持C++0x lambdas的gcc版本上。我有可用的boost库,但我正在深入了解它,所以我不知道如何具体做到这一点
提前感谢您的帮助这两个库都可以用于创建未命名函数 请参见,注意这两个库有一天会合并。boost::bind是解决此问题的常用方法。有关详细信息,请参阅他们的文档