push_back上的隔离错误
Segfault on push_back
在下面的代码段中,我在调用 push_back() 的行上得到一个段错误:
CTrigger CTriggerManager::AddTrigger(const std::wstring& eventName)
{
CTrigger trigger(eventName);
m_Triggers.push_back(trigger);
return trigger;
}
如果从代码中不清楚,我正在尝试初始化一个对象trigger
将其推到列表m_Triggers
的背面。谁能告诉我为什么这可能会导致段错误?
如果需要,请参阅此处的完整上下文中的代码。
在哪里使用和声明扳机管理器? 我敢打赌,由于它在push_back上崩溃,CTriggerManager 的实际实例为空,并且对成员变量 (m_Triggers) 的第一次访问会导致访问冲突。
我看到一个在这里声明,但从未实例化:世界.cpp:
CTriggerManager* pTriggerManager = NULL;
这个问题显然
不在这个函数中,甚至不在 TriggerManager.h/cpp 文件中——这两个类都非常简单和幼稚。 顺便说一句,要初始化m_EventName
最好在构造函数中使用初始列表,而不是赋值运算符......
例如,尝试使用valgrind
...也许它会告诉你一个真正的原因很有趣......——似乎你在打电话给AddTrigger
之前在某个地方破坏了一个内部列表......
相关文章:
- 从矢量中删除元素后出现隔离错误
- 在 gtest 中初始化堆栈上的引用变量的隔离错误
- 线程时访问静态映射时出现隔离错误
- 并行快速排序分区中的隔离错误
- C++多线程程序:变量定义为类成员的隔离错误
- TFLite 隔离错误,通过获取C++输入和输出
- 我只是在寻找模板,在我的书中找到了这段代码,这显示了隔离错误?
- pthread_create中错误 4 的隔离错误
- 递归树遍历/分支删除的隔离错误
- 在类模板上使用 arm gcc 编译期间的隔离错误
- 从大量文件读取时出现隔离错误
- 在PHP扩展中使用emalloc从线程时出现隔离错误
- 通过 Boost Python 在C++对象之间传递共享指针的隔离错误
- 在QT中单击菜单时出现隔离错误
- 尝试访问标头声明成员时出现隔离错误
- 搜索链表时出现隔离错误
- 模板化子类析构函数中的隔离错误
- 插件中节点.js/Nan 回调C++不频繁的隔离错误
- 将行添加到 GTKTreeView 时的隔离错误
- 找不到命令时打开的隔离错误