Errore la funzione C ++ non è stata dichiarata in questo ambito

Errore la funzione C ++ non è stata dichiarata in questo ambito
Mentre lavoriamo su diversi linguaggi di programmazione, incontriamo molti errori su base giornaliera. Uno di questi errori è una funzione non dichiarata in questo ambito. Questo errore si verifica nei linguaggi C/C ++ principalmente durante la definizione dei metodi. Nell'articolo di oggi, ti aiuteremo a creare questo errore e risolverlo da solo.

Nota: il sistema operativo utilizzato in questa guida è Ubuntu 20.04. Tuttavia, la stessa guida può essere implementata anche su altri sistemi operativi.

Esempio 01:

Inizia con il primo esempio per vedere come si verifica l'errore "La funzione non è stata dichiarata nell'ambito". Creiamo un nuovo file C ++ con la query "Touch" nella shell, come mostrato nell'immagine sotto.

$ touch test.cc

Dopo aver creato un file, è necessario aprirlo all'interno di alcuni editor per aggiungere il codice C ++. Quindi, abbiamo già installato l'editor GNU Nano. Quindi, abbiamo utilizzato Nano Editor per aprire e scrivere codice secondo l'immagine Snap.

$ nano test.cc

All'interno di questo file, abbiamo incluso un'intestazione del flusso di input-output all'inizio. Lo spazio dei nomi standard deve essere utilizzato nel codice C ++. Perché senza di essa, il nostro codice non funzionerà. Il metodo principale è stato inizializzato per primo per iniziare l'esecuzione. Sottolinea che il controllo è stato dato al metodo principale. Il metodo principale utilizza la chiamata di funzione per eseguire il metodo definito dall'utente "Display ()". Quindi, il metodo Display () che è stato definito dopo che il metodo principale esegue e produce alcune istruzioni di testo.

Nel caso del linguaggio C ++, dobbiamo installare il compilatore G ++. Quindi, l'abbiamo già installato sul nostro sistema. Il compilatore G ++ è stato utilizzato nel comando per compilare il codice. La compilation genera un'eccezione secondo cui il metodo "Display ()" non è stato definito nell'ambito. Questo è il motivo per cui anche il nostro codice non funzionerà dopo averlo eseguito.

$ g ++ test.cc

Dobbiamo aggiornare un codice per farlo funzionare ed evitare più errori di portata. Il codice era tutto corretto tranne una cosa. Per risolvere questo errore, un primo metodo utile sarebbe dichiarare il prototipo della funzione prima del metodo principale (). Quindi, abbiamo utilizzato il prototipo di funzione prima del metodo principale nel codice aggiornato.

Quando abbiamo compilato il codice, non lancia eccezioni e funziona correttamente.

$ g ++ test.cc
$ . /UN.fuori

Un altro modo per risolvere questo errore di portata è definire il metodo definito dall'utente prima della funzione principale () se non si desidera utilizzare il prototipo di funzione. Quindi, secondo il codice seguente, abbiamo scambiato le posizioni di un metodo principale () e display ().

Quando abbiamo compilato il codice aggiornato, funziona bene. Quindi, il codice file viene eseguito correttamente e mostra l'output sullo schermo del terminale.

$ g ++ test.cc
$ . /UN.fuori

Esempio 02:

Vediamo un altro esempio per ottenere l'errore dell'ambito della funzione nella shell e risolverlo. Quindi, abbiamo aggiornato il codice di un file "Test.CC ". Dopo lo spazio dei nomi e l'intestazione, abbiamo definito 2 funzioni, show1 () e show2 () nel codice. Il metodo show1 () ha chiamato il metodo show2 () al suo interno da una chiamata di funzione.

Dopo aver compilato il file, abbiamo ricevuto l'errore che mostra che il metodo show2 () non è dichiarato nell'ambito. Poiché la funzione show2 () è stata dichiarata nell'ultimo, dobbiamo dichiarare il suo prototipo prima del metodo show1 ().

$ g ++ test.cc

Aggiorniamo il codice per rimuovere questo errore. Quindi, abbiamo aperto ancora una volta il file e abbiamo aggiunto la Dichiarazione di Show2 () della funzione dopo lo spazio dei nomi e prima di tutti i metodi.

Dopo aver compilato il codice, abbiamo ricevuto un nuovo errore, sebbene l'errore precedente sia stato risolto. L'errore dice che il codice ha un riferimento indefinito. Ciò significa che il nostro codice non funzionerà senza il metodo principale (). Inoltre, non abbiamo chiamato il metodo show1 () da nessuna parte.

$ g ++ test.cc

Pertanto, abbiamo nuovamente aperto il file per correggere questo errore. Abbiamo definito il metodo principale all'ultimo di entrambe le funzioni. Il metodo principale è stato chiamare il metodo show1 (). Poiché il metodo show1 () è stato definito all'inizio, non è necessaria una dichiarazione prototipo di funzione. Il metodo show1 () sta chiamando il metodo show2 (). In questo modo, l'esecuzione è stata completata.

Compiliamo ed eseguiamo di nuovo il codice. Puoi vedere che non abbiamo trovato errori e funziona bene.

$ g ++ test.cc
$ . /UN.fuori

Conclusione:

In questa guida, abbiamo usato semplici esempi per fare situazioni per ottenere l'errore: "Funzione non dichiarata nell'ambito". Inoltre, abbiamo deliberato le tecniche per risolvere tali problemi con metodi diversi. Speriamo che ti piaccia questo articolo e lo trovi utile.