C++错误Call to implicitly-deleted default constructor of ‘SerialPortConfig‘
- error: Call to implicitly-deleted default constructor of ‘SerialPortConfig’
原因分析:该条报错的原因是无法调用默认构造函数,原因是在结构体中,有一个引用的成员变量,而引用的成员变量必须要初始化,因此我们没办法直接默认构造出SerialPortConfig的变量。
解决方法:将SerialPortConfig中的QString &strSN,改为QString strSN;
struct SerialPortConfig {
QString portName;
int baudRate;
int dataBits;
QString stopBits;
QString parity;
QString &strSN;
};
SerialPortConfig config;
portName, baudRate, ui->cmbDatabitUp->currentText().toInt(),
ui->cmbStopbitUp->currentText(), ui->cmbCheckbitUp->currentText(), strSN)
- 带有纯虚函数的类是抽象类,抽象类不能够实例化,纯虚函数可以被子类继承,如果子类继承了纯虚函数并且没有进行重写的话,那么子类也是抽象类不能够实例化。