C++ , vytvoření instance třídy s parametrem jiné třídy
Petr Zapadlo
zapik na email.cz
Sobota Říjen 30 07:00:20 CEST 2021
Zdravím,
pokouším se vniknout do C++ tříd a když už jsem měl pocit, že "tuším"
tak jsem zase narazil na zakopaného psa.
V main.cpp vytvářím:
#include <Syslog.h>
#include <Logsys.h>
WiFiUDP udpClient;
Syslog syslog(udpClient, SYSLOG_SERVER, SYSLOG_PORT, DEVICE_HOSTNAME,
APP_NAME, LOG_KERN);
Logsys logsys(syslog);
Tj, vytvořím (aspoň tak to chápu já) instanci třídy Syslog a pak to
pomocí reference chci předat do své vlastní třídy Logsys.
Logsys.h:
class Logsys
{
private:
uint8_t test=0;
public:
Logsys(Syslog &s_log); //>>>>"expected ')' before '&' token"
bool send(String text);
};
Logsys.cpp:
Logsys::Logsys(Syslog s_log){ //>>>>"expected constructor,
destructor, or type conversion before '(' token"
}
bool Logsys::send(String text){
return (false);
}
V komentářích je uvedena linterem prezentovaná chyba.
Knihovna Syslog je tato:
https://github.com/arcao/Syslog/blob/master/src/Syslog.h
Pokud dám jako typ parametru třídy nějaký normální typ (třeba uint8_t)
tak kompilace projde.
Cílem je abych se uvnitř třídy Logsys mohl využívat vytvořenou instanci
syslog.
Co jsem nepochopil?
Díky
Petr
Další informace o konferenci Hw-list