connect(tcpsever,&QTcpServer::newConnection,this,&TcpServer::newconnet);报错/root/network/tcpserver.cpp:13: error: no matching function for call to 'TcpServer::connect(QTcpServer*&, void (QTcpServer::)(), TcpServer const, void (TcpServer::*)())'
时间: 2024-02-27 14:58:01 浏览: 63
这个错误提示是因为 connect 函数的第三个参数传递的是一个 const 对象,导致无法匹配正确的成员函数指针。
请将 connect 函数的第三个参数修改为指向非 const 的 TcpServer 对象指针,例如:
```
connect(tcpsever, &QTcpServer::newConnection, this, &TcpServer::newconnet);
```
注意,这里的第三个参数应该是指向非 const 的 TcpServer 对象指针 `this`,不能加上 const 限定符。
相关问题
/root/network/tcpserver.cpp:13: error: lvalue required as unary '&' operand代码如下{ tcpsever =new QTcpServer; tcpsever->listen(QHostAddress::Any,8080); connect(tcpsever,&QTcpServer::newConnection,this,&TcpServer::newconnet()) }
这个错误提示是因为在 connect 函数的参数中,传递的 Qt 槽函数的地址时使用了错误的语法。正确的语法是只写函数名,不需要在函数名前加上 '&' 取地址运算符。
你需要修改 connect 函数的参数,将第三个参数和第四个参数中的函数地址改为不带 '&' 的函数名。正确的代码示例如下:
```
tcpsever = new QTcpServer;
tcpsever->listen(QHostAddress::Any, 8080);
connect(tcpsever, &QTcpServer::newConnection, this, &TcpServer::newconnect);
```
注意,这里的 `newconnect` 是函数名,不需要加上取地址运算符 `&`。
阅读全文