Создание класса шаблона, ассоциативного массива
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
При компиляции возникают проблемы следующего характера.
1). В конструкторе IContainer компилятор пишет waring: преобразование const double в int возможна потеря данных, а потом и вовсе error: не найден оператор принимающий правый операнд хотя std::map вроде как позволяет так обращаться к элементам
2). В ф-ии GetElem несоответствие типов со знаком и без. строчка с return возвр. адреса локальной или временной переменной, тоже не ясно.
3). В PutElem преобразование const double в int возможна потеря
4). Последнее, самое сложное не могут состыковаться блоки throw и catch я после слова throw создаю объект и хочу передать его в блок catch по ссылке, но он туда не лезет ни в какую, пробовал как мне кажется по всякому уже.
Весь код:
Народ хочет разобраться что к чему, дело для нас новое, не освоенное! С СТЛ и Exception-ами сталкиваюсь впервые, строго не судите!!
Сейчас код немного видоизменился:
Не могу наладить эксепшн по человечьи, наверно я не понимаю как обращаться к созданному объекту. И функции в GetElem я написал find, думаю что с ним делать, и еще возник вопрос в PutElem если он обращается по неправильному индексу, надо по идее тоже эксепшен, но в задании его нет:
Необходимо разработать класс контейнера, реализующий приведенный ниже интерфейс. При разработке приветствуется использование STL.
Если в точности следовать интерфейсу, указанному в задании, то решение может выглядеть примерно так:
Здесь при вставке элемента, если ключ дублируется, просто тихо происходит замена значения, связанного с ключом, на новое. Что есть не очень хорошо, но удовлетворяет спецификации из задания.