Why given this: C c(5, 6, 7); // C has two ctors: one takes 3 ints, one a single int. map<int, C> TestMap; is this ok? TestMap.insert(make_pair(1, c)); but not this? TestMap[1] = c; Thanks -- Derek