I have something like this that seems to work. Hopefully it can help you.
Header:
static TMap<ECharacterPose, float> AddMap(TMap<ECharacterPose, float> Sums,
const TMap<ECharacterPose, float>& Addends);
CPP:
TMap<ECharacterPose, float> AGameModeArsenal::AddMap(TMap<ECharacterPose, float> Sums,
const TMap<ECharacterPose, float>& Addends)
{
for (const auto& Addend : Addends)
{
if (Sums.Find(Addend.Key))
{
Sums[Addend.Key] += Addend.Value;
continue;
}
Sums.Emplace(Addend.Key, Addend.Value);
}
return Sums;
}
Called from a void non-static method:
Multi->AdsSpeeds = AddMap(Multi->AdsSpeeds, Raw->AdsSpeeds);