Я работаю с C ++ для проекта. Мне нужно хранить пару (строка, целое число) и доступ к ним на основе строки. Класс мультикарты кажется идеальным для этого. Я пытаюсь создать свой собственный класс, базу данных, которая будет включать методы для определения среднего и количества всех целых чисел, связанных с конкретной строкой. Тем не менее, я немного запутался в начальном конструкторе. Моя база данных должна быть создана, когда вызывается database data();
, но возникает огромная ошибка.
Вот реализация конструктора в database.cpp
database::database()
{
data = new multimap<string,int>; // allocates new space for the database
*data["asdf"]= 0; // adds a point. not needed...?
}
Кроме того, файл database.h выглядит так.
private:
multimap<string,double> *data;
Ошибка довольно плотная, и я не могу ее расшифровать, но когда я запускаю g ++ database.cpp test.cpp, это выходит.
$ g++ database.cpp test.cpp
database.cpp: In constructor ‘database::database()’:
database.cpp:11: error: cannot convert ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >*’ to ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >*’ in assignment
database.cpp:12: error: invalid types ‘std::multimap<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >*[const char [5]]’ for array subscript
Edit:
Я забыл добавить, спасибо за помощь!
Расти