Can you help me resolve this compiler error?
template<class T> static void ComputeGenericDropCount(function<void(Npc *, int)> func) { T::ForEach([](T *what) { Npc *npc = Npc::Find(what->sourceId); if(npc) func(npc, what->itemCount); // <<<<<<< ERROR HERE // Error 1 error C3493: 'func' cannot be implicitly captured because no default capture mode has been specified }); } static void PreComputeNStar() { // ... ComputeGenericDropCount<DropSkinningNpcCount>([](Npc *npc, int i) { npc->nSkinned += i; }); ComputeGenericDropCount<DropHerbGatheringNpcCount>([](Npc *npc, int i) { npc->nGathered += i; }); ComputeGenericDropCount<DropMiningNpcCount>([](Npc *npc, int i) { npc->nMined += i; }); } I can't understand why it's giving me the error and I don't know how to fix it. ComputeGenericDropCount(auto func) doesn't work either.