Chiamata di funzione senza le parentesi, errore o altro?

Ho appena concluso un mini corso estivo su Arduino, e, come faccio sempre, mi sono prodigato perché i miei ragazzi imparassero a creare delle funzioni a se stanti che il loop() avrebbe richiamato in vari punti del codice.

Supponiamo che la funzione fosse:
void rotola(){
// codice da esequire
}

Se nel loop() invece di mettere rotola(); si mette rotola; il compilatore non da' nessun errore ma le funzioni non vengono eseguite.

Sicuramente il mio ragazzo ha fatto un errore ma è normale questa risposta del sistema software/hardware?

Grazie a tutti.

ciao crc57,

se si abilitano le info dettagliate degli errori da "impostazioni" viene evidenziato che la chiamata alla funzione NON viene eseguita.

poi che l'errore segnalato dovesse essere più grave...

ORSO2001:
ciao crc57,

se si abilitano le info dettagliate degli errori da "impostazioni" viene evidenziato che la chiamata alla funzione NON viene eseguita.

poi che l'errore segnalato dovesse essere più grave...

Ciao ORSO2001,
adesso so cosa rispondere.

Grazie

il nome della funzione per il compilatore è un indirizzo della funzione se si mettono le parentesi allora il compilatore trasformerà la linea di codice nella chiamata all'esecuzione di quel determinato indirizzo, senza le parentesi il compilatore valuterà l'espressione e scarterà il risultato o forse proprio non farà finire la linea di codice nella parte d'esecuzione, non essendo un errore sintattico non viene evidenziato un po' come non viene riportato errore in questo caso:

if(a=0)

è sintatticamente valido, non è la corretta comparazione infatti restituisce sempre il corrispondete valore di verofalso

Semmai di falso

È un po' come se scrivessi:

42;

Di per sé non è un errore, è pur sempre un'espressione (nel tuo caso è un indirizzo, che è pur sempre un'espressione), ma non produce alcun effetto, come detto dagli altri. Il compilatore dovrebbe infatti darti un warning tipo "statement has no effect".

docsavage:
Semmai di falso

hai ragione errore di digitazione.. correggo!

SukkoPera:
È un po' come se scrivessi:

42;

Si, ma se scrivi nel codice "la risposta alla domanda fondamentale sulla vita, l'universo e tutto quanto ", come minimo Arduino diventa senziente e autocosciente, 2 ms dopo si collega a tutte le basi missilistiche nucleari del mondo e stermina l'umanità, 3 ms dopo cambia il suo nome in skynet. :smiley:

Con o senza virgolette?

astrobeed:
2 ms dopo si collega a tutte le basi missilistiche nucleari del mondo

Via SPI?

Tramite telepatia. :smiley:

ferromoni;

Tramite un modulo di wobulazione a rifasamento quantico ($1.99, spedizione inclusa dalla Cina ... :smiley: :smiley: :D)

Uwe: e' un modello Cecropiano o Hymenopt ? ... :smiley:
(nel senso degli alieni dei romanzi di Sheffield, non c'entrano ne le piante ne le farfalle ;))

... spam, spam, spam, spam ... tra un po' do una bella pulita al thread ...

Guglielmo