[RISOLTO] Metodo con argomenti opzionali

Buongiorno,
ho letto che in C non è possibile definire un metodo con argomenti opzionali (valore di default), ma al contrario lo si può fare in C++, quindi ho pensato che in Arduino si potesse fare, ma invece sembra di no!

Non è fondamentale, ma esiste un modo per farlo? Forse va dichiarato in modo diverso?

//sendInfo();
//sendInfo(true);

void sendInfo(bool immediately = false) {
  if (immediately) {
   //...
  } else {
   //...
  }
}

TIA
Federico

Se ricordo bene devi mettere il prototipo a mano perché lo IDE sbaglia a farlo, se ci sono argomenti opzionali

Standardoil:
Se ricordo bene devi mettere il prototipo a mano perché lo IDE sbaglia a farlo, se ci sono argomenti opzionali

No so se ho capito!
Intendi qualcosa del genere?
Proverò

void sendInfo(bool immediately = false);


void sendInfo(bool immediately) {
  if (immediately) {
   //...
  } else {
   //...
  }
}

Sì, una cosa così
Il prototipo lo puoi anche mettere all'inizio, come K&R comanda

ci sono 2 possibilitá:

Scrivere 2 funzioni con lo stesso nome ma con numero di argomenti diversi. esempio:
void miafunzione(int variabileA);
void miafunzione(int variabileA, int variabileB);

oppure predefinire un argomento.
void miafunzione(int variabileA, int variabileB = 0);

Ciao Uwe

Standardoil:
Il prototipo lo puoi anche mettere all'inizio, come K&R comanda

Testato, funziona :slight_smile:

Grazie

uwefed:
...
oppure predefinire un argomento.
void miafunzione(int variabileA, int variabileB = 0);
...

Ho appena provato e l'unico modo che sembra funzionare è questo (a parte le due funzioni):

void sendInfo(bool immediately = false);

void sendInfo(bool immediately) {
  if (immediately) {
   //...
  } else {
   //...
  }
}

Grazie