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