У меня есть код указателя следующим образом:Pass/указатель копирования на другой указатель
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
}
Я хочу передать/копировать указатель uptarget_
на uptargetTX
с помощью *uptargetTX = *uptarget_;
, но что-то идет не так
segmentation fault (core dumped)
Затем я перехожу на uptargetTX = uptarget_;
, но такая же ошибка возникает. Как удалить эту ошибку?
Я получил эту ошибку: ошибка: не может выделить объект абстрактного типа «NsObject» – user2290560
@ user2290560 Вы сделали вас абстрактным классом, объявив 'virtual void recv = 0', поэтому вы не можете построить его объект. – TNA