мы также можем использовать
(.*?\n)*?
для соответствия всем, включая новую строку без жадного
. Это сделает новую строку опцией
(.*?|\n)*?
Итак, проблема заключалась в объявлении объекта сервера.
Первоначально я заявлял следующее:
EthernetServer ArduinoTcpServer(22);
Но я бы получил ошибку о «ожидаемом Идентификатор перед числовой константой ", ссылаясь на 22. Таким образом, я искал его и нашел, что кто-то предлагает, что (в некотором контексте я не помню) указание только этого типа было достаточным, чтобы вызвать конструктор, соответствующий этому прототипу. Это позволило компилятору продолжить работу, поэтому я предположил, что это действительно так. Однако, похоже, это не так.
Реальная проблема заключается в том, что для использования в компиляторе Arduino IDE требуется инициализация брекетов, например
EthernetServer ArduinoTcpServer{22};
Это похоже на работу.
EthernetServer ArduinoTcpServer(uint16_t);
объявляет функцию-член с именем ArduinoTcpServer
. Чтобы объявить переменную-член, опустите тип параметра и круглые скобки. Также добавьте конструктор для инициализации переменной-члена, например. :
class LinxArduinoEthernetListener : public LinxListener
{
public:
EthernetServer ArduinoTcpServer;
LinxArduinoEthernetListener(uint16_t port)
: ArduinoTcpServer(port)
{
}
};