Stránka 1 z 1

void return.

Napsal: 28 lis 2021, 10:53
od Le-Ze
Zdravím.
Jak toto pořešit?
void stavrelay()
{
return String(expander.digitalRead(7))
+ String(expander.digitalRead(6))
+ String(expander.digitalRead(5))
+ String(expander.digitalRead(4))
+ String(expander.digitalRead(3))
+ String(expander.digitalRead(2))
+ String(expander.digitalRead(1))
+ String(expander.digitalRead(0)) ;
}
void stavrelay()
{
StavExpanderu = String(expander.digitalRead(7))
+ String(expander.digitalRead(6))
+ String(expander.digitalRead(5))
+ String(expander.digitalRead(4))
+ String(expander.digitalRead(3))
+ String(expander.digitalRead(2))
+ String(expander.digitalRead(1))
+ String(expander.digitalRead(0)) ;
return StavExpanderu
}
invalid operands of types 'const char [20]' and 'void' to binary 'operator+'

Re: void return.

Napsal: 28 lis 2021, 11:08
od kiRRow
Musíš oznámit kompilátoru, že funkce bude vracet datový typ String. void znamená, že funkce nevrací nic a najednou se tam objeví return dataTypuString. To ten kompilátor nepobere. Je to jako zavolat si kamaráda a říct mu ať si nic neveme, že nic neponese zpátky a pak mu naložíš 4 pytle brambor.
Takže pokud vracím int, zapisuji funkci int jmenoFunkce(), pokud vracím String, zapisuji funkci String jmenoFunkce()