Re: C++ , vytvoření instance třídy s parametrem jiné třídy
Petr Zapadlo
zapik na email.cz
Sobota Říjen 30 07:14:01 CEST 2021
Teď jsem si všiml že jsem nakopíroval jeden řádek blbě - z různých
pokusu co jsem dělal, správně má být konstruktor takto:
Logsys::Logsys(Syslog &s_log){ //>>>>"expected constructor, destructor,
or type conversion before '(' token"
}
Petr
Dne 30. 10. 21 v 7:00 Petr Zapadlo napsal(a):
> 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
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list