问题描述
|
我从boost :: unordered_map库(v1.45.0)中得到了奇怪的行为。
在我的课堂上,我创建一个对象:
boost::unordered_map<uint16,MyStruct *> bufferStructMap;
然后在构造函数初始化列表中对其进行初始化:
MyClass::MyClass () : bufferStructMap( ) { .... }
然后,我尝试使用方法“ at”从其中提取某些内容(请参阅链接中的API):
const uint16 bufferNumber = 1;
try {
MyStruct * ptr = ( this->bufferStructMap.at( bufferNumber ) );
}
catch ( std::out_of_range & e ){
//deal with exception
}
当映射为空时,即使API指出唯一可以抛出的异常是std :: out_of_range,应用程序也会中止对\“ bufferStructMap.at(...)\”的调用。
谁能检测到我的代码有问题,或者这是一个增强错误?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)