error: ‘QObject::QObject(const QObject&)’ is private within this context
这个错误是由于QObject类的拷贝构造函数被声明为私有,导致在某些情况下无法进行对象的拷贝操作而产生的。
使用指针或引用:考虑修改ReceiverClass中的槽函数为使用指针或引用传递ParametersPO对象,而不是通过值进行传递。这样可以避免对QObject的拷贝构造函数的调用。
public slots:
void handleParameters(const ParametersPO* parameters) {
// 在这里对接收到的ParametersPO对象进行处理
// …
}
如果你确实需要在发送方和接收方之间进行对象的复制,可以考虑在ParametersPO类中定义一个公共的拷贝构造函数,并确保在复制对象时正确地管理相关资源。注意,这需要你对ParametersPO类进行修改,并根据实际情况来处理对象的拷贝。示例代码如下:
class ParametersPO : public QObject {
// 其他成员声明…
public:
explicit ParametersPO(const ParametersPO& other) {
// 根据实际需求来实现拷贝构造函数
// …
}
};