我正在开发某种公交应用程序,我有车站,并将它们之间的连接放在unordered_map中。一个连接是:department_station_id,arrival_station_id,travel_time。
如您所见,有三个元素。 这是我已经尝试过的。
uint64_t fr=strtoul(from.c_str(),NULL,10);
uint64_t t=strtoul(to.c_str(),NULL,10);
uint64_t tf_time=strtoul(tfr.c_str(),NULL,10);
connections_hashmap.insert({{fr,t},tf_time});
我得到这个:
error: no matching function for call to ‘std::unordered_map<long unsigned int, std::unordered_map<long unsigned int, long unsigned int> >::insert(<brace-enclosed initializer list>)’ connections_hashmap.insert({{fr,t},tf_time});
我也尝试过组成{tf_time,NULL}对,但是我没有用。
答案 0 :(得分:0)
您应该将连接定义为结构,然后将其插入一些有意义的ID下:
struct connection {
string departure_station_id;
string arrival_station_id;
string travel_time;
};
auto connections_hashmap = new unordered_map<string, connection>();
connections_hashmap.insert("connectionID", {"Powell", "Embarcadero", "3"});
这将使您以后可以通过connectionID检索结构。