gpt4 book ai didi

c++ - 将指针传递/复制到另一个指针

转载 作者:行者123 更新时间:2023-11-30 02:43:36 29 4
gpt4 key购买 nike

我有一个指针代码如下:

class NsObject : public TclObject, public Handler {
public:
NsObject();
virtual ~NsObject();
virtual void recv(Packet*, Handler* callback = 0) = 0;
virtual void recv(Packet* p, const char* s);
}

NsObject* uptargetTX;
NsObject* uptarget_;

void NsObject::recv(Packet *p, const char*)
{
Packet::free(p);
}

if (NodeType_ == TX) {
uptarget_->recv(ppp, (Handler*) 0);
*uptargetTX = *uptarget_; //in this line error happens
}

我想通过使用 *uptargetTX = *uptarget_; 将指针 uptarget_ 传递/复制到 uptargetTX 但是出了点问题

segmentation fault (core dumped)

然后我更改为 uptargetTX = uptarget_; 但同样的错误发生了。如何消除这个错误?

最佳答案

uptargetTXuptarget_ 未初始化,因此它们指向随机内存位置,因此访问会导致段错误。根据您要执行的操作,您可能必须首先分配内存,例如:NsObject* uptargetTX = new NsObject

关于c++ - 将指针传递/复制到另一个指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25967953/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com