根据报错信息,可以看出问题出在成员变量m_socket上,它是一个指针类型,因此需要使用箭头运算符 "->" 而不是点运算符 "." 来访问它的成员函数和成员变量。

正确的写法应该是:

QObject::connect(m_socket, QOverloadQAbstractSocket::SocketError::of(&QTcpSocket::error), this, [=](QAbstractSocket::SocketError error){ // 获取错误代码 QAbstractSocket::SocketError errorCode = m_socket->error(); // 根据错误代码进行相应处理 switch (errorCode) { case QAbstractSocket::ConnectionRefusedError: qDebug() << "Connection refused"; break; case QAbstractSocket::RemoteHostClosedError: qDebug() << "Remote host closed"; break; // 其他错误处理... default: qDebug() << "Unknown error"; break; } });

此外,还需要确保m_socket指针已经被正确初始化和连接到服务器。如果m_socket没有被正确初始化或者没有与服务器建立连接,那么在调用connect函数时会抛出运行时错误

QObjectconnect&m_socket QOverloadQAbstractSocketSocketErrorof&QTcpSocketerror this =QAbstractSocketSocketError error 获取错误代码 QAbstractSocketSocketError errorCode = m_socketerror;

原文地址: https://www.cveoy.top/t/topic/iBfR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录