Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - void come argomento
Forum - C/C++ - void come argomento

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2299
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:57
Venerdì, 06/12/2019
Buonare, Non mi è molto chiaro cosa significa il tipo void come argomento in una funzione.

Su alcuni siti, leggo che ad esempio funzione(void* p)   la p può essere convertita in int o altro.
mentre su altri siti web leggo che può contenere uno o più argomenti scrivendo esempio funzione(void)

Qual'è il corretto funzionamento o a cosa serve realmente il tipo void in una funzione?



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6385
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:11
Sabato, 07/12/2019
Se usi void * come argomento stai indicando che la funzione riceverà un puntatore ma non tipizzato (quindi diciamo che non si sa a cosa effettivamente punta ...).

Se usi void allora la funzione non accetta parametri.



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2299
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:10
Sabato, 07/12/2019
Grazie nessuno chiara la prima spiegazione ma ho qualche dubbio ancora sulla seconda ovvero:

Testo quotato


Se usi void allora la funzione non accetta parametri.



Se la funzione non accetta parametri, a cosa consiste racchiudere un void nel parametro?

non basta semplicemente fare:

Codice sorgente - presumibilmente C/C++

  1. int prova()
  2. {
  3.    return 0;
  4. }



così? che aggiungere

Codice sorgente - presumibilmente C/C++

  1. int prova(void)
  2. {
  3.  
  4. return 0;
  5. }



questa parte mi confonde.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6385
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:38
Sabato, 07/12/2019
Per lo standard C++ non esiste differenza tra f() e f(void)

Per lo standard C esiste una lieve differenza. Nella dichiarazione, se usi f() si sta indicando che NON si conosce il numero di argomenti, se usi f(void) allora indichi proprio nessun argomento. Nessuna differenza della definizione, in cui comunque viene indicato nessun argomento.

Praticamente non esiste alcuna differenza.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2299
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:40
Sabato, 07/12/2019
Chiaro, grazie mille nessuno per la spiegazione.
ora mi è molto piu chiaro. buona giornata e grazie ancora :)



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote