Я написал небольшую программу использования std:: map здесь следующим образом.
int main()
{
map<int,float>m1;
m1.insert(pair<int,float>(10,15.0)); //step-1
m1.insert(pair<float,int>(12.0,13)); //step-2
cout<<"map size="<<m1.size()<<endl; //step -3
Я создал карту с типом типа int в качестве ключа и типа float в качестве пары значений (ключ-значение) для карты m1
step-1 Создал нормальную пару с int-float и вставил в карту.
step-2 Создал пару cross float-int и вставлен в карту. Теперь я знаю, что неявное преобразование делает эту пару вставленной в карту.
Здесь я просто не хочу, чтобы неявное преобразование выполнялось, и должна быть указана ошибка компилятора.
Какие изменения я должен сделать в этой программе/карте, чтобы сделать флаг comipiler ошибкой, когда мы пытаемся выполнить операцию типа 2?
Спасибо заранее.