【发布时间】:2018-12-01 21:53:16
【问题描述】:
我有一个 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)”:无法将“this”指针从“const Deliverables”转换为“Deliverables &”
行:*p->print();
如何正确打印可交付成果?
【问题讨论】: