目前,当我一直在调用我的 getFunction 方法时,我遇到了严重的崩溃。我的程序编译得很好,但是当我运行并调用这个函数时,我得到“调试断言失败!”,“表达式:向量下标超出范围”。不知道如何处理这个问题,因为几年来我没有在 C++ 中做太多事情。
void* PluginMap::getFunction(char* pguid, char* fname){
if(plugin_map.size()>0 && plugin_map.find(pguid)!=plugin_map.end())
{
//plugin_map is an unorderedmap that is defined elsewhere.
MicroMap* mm = &plugin_map[pguid];
if((*mm).find(fname)!=(*mm).end())
{
//MicroMap is an unorderedmap that goes in plugin_map, and contains void*
return (*mm)[fname];
}
}
return 0;
}
任何帮助,将不胜感激。