当我尝试空指针时出现分段错误
Segmentation fault when i try to NULL pointer
当代码重新指向 NULL 指针时,我在调试器中遇到分段错误错误。
此函数执行错误:
void Player::nullActive()
{
activeCharacter = NULL;
}
activeCharacter 只是 Character 类的一个指针。
另外,这是玩家类:
class Player
{
public:
Player(unsigned int accID, std::string aID, bool isBanned); //constructor, allow only create object id-s one time
~Player();
std::string getAtheriusID(); //return account id
unsigned int getAccountID(); //return atherius id
boost::ptr_vector<Character> characters;
bool isBanned();
bool hasActiveCharacter();
void nullActive();
void setActiveCharacter(Character * character);
void setConnection(CSConnection * con);
CSConnection * getConnection();
Character * getActiveCharacter();
unsigned int atheriusCoins;
protected:
unsigned int accountID; //account unique id
std::string atheriusID; //account name / atherius id
bool banned;
private:
CSConnection * connection;
Character * activeCharacter = NULL;
};
和调试器的输出:
程序接收信号SIGSEGV,分段错误。在 F:\永恒英雄\服务器\src\game\src\玩家.cpp:36 继续... 程序接收信号SIGSEGV,分段错误。在 F:\永恒英雄\服务器\src\game\src\玩家.cpp:36 继续... [下级 1(进程 11552)以代码 030000000005 退出]调试器 已完成,状态为 0
只是将其从评论移动到答案,因为不太可能有任何其他;)
据我所知,activeCharacter 是一个成员变量,到执行此函数时,此指针已损坏/为空。
相关文章:
- 在某些循环内使用vector.push_back时出现分段错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 当我的阵列太大时出现分段错误
- 分段错误当我试图运行程序时出错
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 尝试使用集合函数时出现分段错误
- 我无法缩小此分段错误的原因
- g++的分段错误(在NaN上使用to_string两次时)
- 我是如何在这段代码中出现分段错误的
- 创建结构的数组时遇到分段错误
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 在 c++ 中实现 Trie 时出现分段错误
- 为什么 fstream 在打开带有格式的文件时会导致分段错误?
- 为什么我遇到分段错误?
- 动态类的分段错误(家庭作业问题)
- 分段错误 - 读取初始化指针的数组
- 如何摆脱C ++中的分段错误错误?
- 使用 CTYPE 时出现分段错误
- 为什么代码给出分段错误?