У меня есть карта STL, которая отображает ключ к вектору результатов.Я хотел бы найти на карте определенный ключ и распечатать все результаты.Я пытаюсь перебрать вектор и вызвать print для каждого элемента.
typedef std::vector<Deliverables> MyDeliverables;
typedef std::map<int, MyDeliverables> MyMap;
MyMap map1;
template < class T >
void printVector( const vector <T> &v)
{
for (auto p = v.begin(); p != v.end(); ++p)
*p->print();
}
int main()
{
Deliverables del("Name", 12, 12, 2018);
map1.insert(MyMap::value_type(1, MyDeliverables()));
auto search = map1.find(1);
if (search != map1.end()) {
std::cout << "Found Student ID: " << search->first << '\n';
printVector(search->second);
}
else {
std::cout << "Not found\n";
}
}
Ошибка C2662 'void Deliverables :: print (void)': невозможно преобразовать этот указатель из const Deliverables'to' Deliverables & '
Строка: * p-> print ();
Как правильно распечатать результаты?