0
所以我有一个构造函数,看起来像 HNS :: HNS vector >> storage(1000,vector>(1000));访问嵌套的STL结构和大小调用
我也有一个函数来插入元素,看起来像
void HNS::insert(const string& host, const int& ip) {
hash<HostName> hash;
auto resultno = hash(host);
auto result = resultno%size;
cout << "size of current container is : " << (storage.at(result)).size() << endl;
storage.at(result).emplace_back(host, ip);
}
但是,在运行时,它的emplace_back和cout电话给我超出范围异常。 在构造函数中,我可以打印storage.at(600).size(),但在插入函数中,cout和emplace调用失败。任何想法为什么这是?
问候
*编译时,emplace_back函数在运行时会给我一个超出范围的异常*什么? – Borgleader 2015-02-23 19:59:56
我认为这是因为我没有正确定义存储。它需要是全球性的。我如何去做这件事? – enrm 2015-02-23 20:04:02
@enrm'resultno%size''size'在你发布的代码中来自哪里? – PaulMcKenzie 2015-02-23 20:05:30