stl:地图断言
stl::map assert
我在VS 2008上运行以下代码
typedef map<int ,string> ListofName;
Class abc
{
ListofName m_List;
ListofName GetList(){ &m_List;}
}
ThredProc(void* args)
{
abc* pabc = (abs*)args;
for( ListofName:: iterator itrList = GetList()->begin();
itrList != GetList()->end();
itrList++)
{
// some operation
}
}
当列表为空时,代码在执行itrlist++时崩溃
下面的方法定义
ListofName GetList(){ &m_List;}
是完全错误的!用
代替ListofName& GetList(){ return m_List;}
并使用它作为对象的引用,而不是对象的指针,这意味着使用"。"而不是"->"
for( ListofName:: iterator itrList = GetList().begin();
itrList != GetList().end();
itrList++)
我建议你多读一点c++基础知识
#include <map>
#include <string>
typedef std::map<int ,std::string> ListofName;
class abc{
public:
ListofName m_List;
ListofName& GetList(){ return m_List;}
};
void testfunction(void* args){
abc* pabc = (abc*)args;
for( ListofName::iterator itrList = pabc->GetList().begin();
itrList != pabc->GetList().end();
itrList++)
{
// some operation
}
}
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- 替换基于地图的所有引用
- 如何区分地图中的 0 和 false?
- 地图计数确实很重要,或者只是检查是否存在
- 尝试使用 std::vector<std::thread时出现静态断言失败错误>
- 如何从地图中删除矢量对象
- 是否有任何C++功能可以对地图进行排序?
- uint_not_usable_without_attribute在业力规则中使用数字生成器时静态断言失败
- 如何使用 std::variant 打印地图键/值?
- C++ 使用增强正则表达式库时断言崩溃
- 从矢量或地图中删除共享指针
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 无限嵌套具有变体的地图
- C++一会儿循环读到地图上 2 行?
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 如何检查变量是否是C++中的地图?
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- stl:地图断言