我正在尝试在c++中创建一个TCP Modbus Master类,在这个类中,我需要定义一个Poco::Net::SocketStream对象。
class TCPModbusMaster {
private:
Poco::Net::SocketStream str;
public:
TCPModbusMaster(Poco::Net::SocketStream str) {
this->str = str;
}
};但在这种情况下,visual studio给了我这两个错误:
1- no default constructor exists for class Poco::Net::SocketStream
2-包含( function "Poco::Net::SocketStream::operator=(const Poco::Net::SocketStream &)" (declared implicitly) cannot be referenced -- it is a deleted function ->str= str)的行的字符串
对于错误1,我尝试为类Poco::Net::SocketStream添加一个默认构造函数
Poco::Net::SocketStream::SocketStream() {
}但是我得到了这个错误:
no instance of overloaded function "Poco::Net::SocketStream::SocketStream" matches the specified type
我能做什么?
发布于 2021-11-15 20:05:54
首先,您需要一个StreamSocket (即TCP套接字)。然后,您可以从它创建一个SocketStream。
class TCPModbusMaster {
private:
Poco::Net::SocketStream str;
public:
TCPModbusMaster(Poco::Net::StreamSocket sock): str(sock){}
};(请注意,streams are not copyable)
https://stackoverflow.com/questions/69966283
复制相似问题