//.cpp
SOCKETCAMERATHREAD::SOCKETCAMERATHREAD(YOLOWINDOW *parent = nullptr)
{xxxx}
这个错误是由于在构造函数的定义中重定义了默认参数。默认参数应该只在构造函数的声明中给出,而不是在定义中重复。
假设你的类和构造函数的声明在 yolowindow.h
中如下:
// yolowindow.h
#ifndef YOLOWINDOW_H
#define YOLOWINDOW_H
#include <QObject>
#include <QUdpSocket>
class SOCKETCAMERATHREAD : public QObject {
Q_OBJECT
public:
explicit SOCKETCAMERATHREAD(QObject *parent = nullptr);
// 其他成员函数和变量
};
#endif // YOLOWINDOW_H
然后在 yolowindow.cpp
中,你应该这样定义构造函数:
// yolowindow.cpp
#include "yolowindow.h"
SOCKETCAMERATHREAD::SOCKETCAMERATHREAD(QObject *parent)
: QObject(parent) {
// 构造函数的实现
}
确保在yolowindow.cpp
中定义构造函数时,不再为参数提供默认值。这可以避免 C2572 错误。