I could solve this with following change:
#include <type_traits>
#include <string>
#include <map>
struct MapRegistration
{
template <typename MapT, typename KeyType, typename ValueType>
static void from(ValueType& (MapT::*insertMethod)(const KeyType&))
{
}
};
int main()
{
using MapType = std::map<std::string, double>;
MapRegistration::from<MapType, std::string, double>(&MapType::operator[]);
return 0;
}