One of your main problems arises in both functions and is as follows:
if (it == fHandInfo.end()){
// Some code that doesn't alter 'it'
}
(it->second)->updateRep(behaviour);
it , , it->second undefined. - , it , find insert, ( , ), it .
Edit
:
class RepSys {
private:
ratingTable repTable;
map<int, Rating*> fHandInfo;
Rating* rating;
typedef ed ratingTable map<int, Rating*>. typedef , .
rating - , , -, . , .
delete rating, . rating, / std::map<int, Rating>, . , rating , .