Code:
Itr = MMIDCache.insert(Itr, MMIDList::value_type(NMKey, MMIDStructs));
Is MMIDList a map<>?
If yes, value_type is a typedef:
Code:
typedef pair<const Key, T> value_type;
so you want to use of of the pair's constructors:
Code:
    pair();
    pair(const T& x, const U& y);
    template<class V, class W>
        pair(const pair<V, W>& pr);
You can see that all constructors require values, not types, as parameters.