#第一次尝试哈希结构,写了一个代码,立刻就错了!
代码如下:
#include <iostream>
#include <unordered_map>
// Data Structure to store a Student Information
struct Student
{
int id;
const char* name;
Student(int Id, const char* Name) : id(Id), name(Name) {}
};
// Function to print the student details
void print_student(Student s)
{
std::cout << "ID: " << s.id << ", Name: " << s.name << std::endl;
}
// Driver Code
int main()
{
// Creating a unordered map with Student structure
// as key and marks as value
std::unordered_map<Student, int> studentMarksMap;
// Inserting values in studentMarksMap
studentMarksMap.insert({ { 1, "Martin" }, 84});
studentMarksMap.insert({ { 2, "Andrew" }, 87});
studentMarksMap.insert({ { 3, "John" }, 98});
// Traversing an unordered map
for (auto itr = studentMarksMap.begin(); itr != studentMarksMap.end(); itr++)
{
print_student(itr->first);
std::cout << "\tMarks: " << itr->second << std::endl;
}
return 0;
}
报错信息: