C ++ Chiamata funzione non è presente elenco di argomenti

September 10

Una funzione nei linguaggi C / C ++ è un processo per raggiungere un certo obiettivo. La sintassi di base e il meccanismo di un programma C ++ eredita le regole di base della lingua originale C e si basa su di esso. Definire la funzione in un oggetto C ++ o come una funzione globale; chiamare la funzione con valori per ogni parametro definito.

Argomenti alle funzioni

Definire un elenco di variabili come parametri alla funzione. Questi sono chiamati "argomenti". È inoltre possibile definire una funzione senza parametri a tutti:

Objecto :: FunctionF (int arg1, arg2 char *, doppia arg3)

{
// Function Body.
// outcome varies with argument values
}

Argomenti mancanti

C ++ consente di chiamare una funzione senza i suoi argomenti definiti. Questo non causa una fase di compilazione, il link-time o run-time errore. In questo caso, la funzione utilizza i valori predefiniti per gli argomenti in fase di esecuzione. Fornire valori di default per gli argomenti lì e subito:

void MyFunction ( double d_arg = 0.0 )
{
if ( d_arg == 0.0 )
...
else
...
}

Sovraccarico funzione

Questa è una caratteristica molto speciale del C ++. È possibile "sovraccarico" una definizione di funzione esistente con un altro. Il nome della funzione rimane la stessa, ma la lista degli argomenti è diverso. Utilizzare questa funzione per sovraccaricare funzioni della libreria standard pure, ma solo quando è necessario:

ad esempio int MyFunction (int a);

int MyFunction (int a, double b) ;
int MyFunction () ;

Qui, la sintassi della chiamata di funzione dice al compilatore che myFunction a raccogliere. Se non si passa argomenti, la terza viene prelevato. Se la chiamata di funzione è simile al seguente: "r_val = MyFunction (12);" poi il compilatore utilizza la seconda definizione.

Fornire i valori di default per gli argomenti, come indicato nella Sezione 2, è un metodo di scelta rapida della funzione di sovraccarico; tuttavia, funziona solo in casi semplici.

Sovraccarico Costruttori Object

Il vero potere di overloading di funzioni in C ++ è nel costruttore sovraccarico. Definire il costruttore di un oggetto in due o più modi. In altre parole, permette al chiamante di creare l'oggetto in modi diversi per vari motivi - come a ritroso compatibilità, portabilità o la flessibilità. Di costruzione per oggetto MyObject è denominato "MyObject ()." Per esempio:

Data class {

int day, month, year ;

pubblico:
Data void (char * c_date);
Data void (int mm, int dd, int aa);
Data void ();

...

}

Nella versione precedente di questo software, l'oggetto "Data" è stata creata usando una stringa inserita dall'utente. Nella prossima release, il mese, il giorno e l'anno sono stati passati separatamente per evitare il controllo formato rigido. A partire dalla data di pubblicazione, i programmatori non si basano su l'utente a tutti, ma andare a prendere o calcolare la data utilizzando l'orologio di sistema, nel processo di creazione di un oggetto "Data". Creare l'oggetto nel programma:

Metodo A: la data ( "10/10/2011");
Metodo B: la data (10, 10, 2011);
Metodo C: date ();

Se si ha familiarità con la versione precedente di questo software, e venire attraverso un programma utente che chiama data senza argomenti, si può essere perplessi su come il compilatore ha permesso questo. La spiegazione è funzione di sovraccarico.