这是常见的问题,但我无法使其发挥作用。
这是功能的原型:
void QSerialPort::setPort(const QSerialPortInfo &serialPortInfo)
我试图使用它,像这样:
QSerialPortInfo *serialPortInfo = new QSerialPortInfo("H");
QSerialPort *SerialPort=new QSerialPort;
SerialPort->setPort( &serialPortInfo);
正如我在原型中理解的那样,我们引用了对象,但是我有一个指向QSerialPortInfo的指针,所以无论如何我和我们一样。这一切都行不通。
我做错了什么?
答案 0 :(得分:1)
不应该动态分配QSerialPortInfo(我知道这不是真正的QT方式)。
在你的情况下,它应该是SerialPort->setPort(*serialPortInfo)
,因为你需要取消引用你的指针以通过引用传递变量。
但是这段代码应该像这里写的那样:
QSerialPortInfo serialPortInfo("COM1");
QSerialPort* SerialPort = new QSerialPort;
SerialPort->setPort(serialPortInfo);