C++ QT TCP套接字连接异常。参数太多,无法正常工作

C++ QT TCP套接字连接异常。参数太多,无法正常工作,c++,qt,tcp,C++,Qt,Tcp,救命啊,我找遍了所有可能的地方。如果我从主类创建到TCP服务器的连接,那么一切都正常。但是如果我创建一个单独的类,它会给出一个错误“太多的参数无法运行” Qt版本5.9.9 使用qtcsocket tcpclient.h \ifndef TCPCLIENT\u H #定义TCPCLIENT\u H #包括 #包括 #包括 #包括 TcpClient类:公共QObject{ 公众: TcpClient(QObject*parent=0); 私人: QTcpSocket*tcpSocket; c

救命啊,我找遍了所有可能的地方。如果我从主类创建到TCP服务器的连接,那么一切都正常。但是如果我创建一个单独的类,它会给出一个错误“太多的参数无法运行”

Qt版本5.9.9 使用qtcsocket

tcpclient.h

\ifndef TCPCLIENT\u H
#定义TCPCLIENT\u H
#包括
#包括
#包括
#包括
TcpClient类:公共QObject{
公众:
TcpClient(QObject*parent=0);
私人:
QTcpSocket*tcpSocket;
const QString ip=“185.137.235.92”;
常数int端口=9080;
公众时段:
void connect();
专用插槽:
void onReadyRead();
void onConnected();
void onDisconnected();
};
#endif//TCPCLIENT\u H
tcpclient.cpp

#包括“tcpclient.h”
TcpClient::TcpClient(QObject*父对象):QObject(父对象){
tcpSocket=新的QTcpSocket(本);
连接(tcpSocket,信号(readyRead()),此,插槽(onReabyRead());
连接(tcpSocket,信号(connected()),此,插槽(onConnected());
连接(tcpSocket,信号(断开()),此,插槽(onDisconnected());
}
void TcpClient::connect(){
tcpSocket->connectToHost(QHostAddress(ip)、端口);
}
void TcpClient::onReadyRead(){
}
void TcpClient::onConnected(){
如果(tcpSocket->waitForConnected()){
QDataStream-in(tcpSocket);
ushort id;
单位尺寸;
8型;
乌舒特行动;
QString消息;
在>>id>>大小>>类型>>动作中;
message=tcpSocket->read(大小);

qDebug()编译器发现了歧义,因为它看起来像是您正在尝试 调用该方法

 void TcpClient::connect()
没有参数…因此解决方案是“告诉编译器应该采用哪种方法”,即,您必须替换此:

connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(onReabyRead()));

通过此修改,编译器知道您编写的连接调用来自
QObject
类,而不是
TcpClient

QObject::connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(onReabyRead()));