El error de la función C ++ no se declaró en este alcance

El error de la función C ++ no se declaró en este alcance
Mientras trabajamos en diferentes lenguajes de programación, nos encontramos con muchos errores a diario. Uno de estos errores es una función no declarada en este alcance. Este error ocurre en los idiomas C/C ++ principalmente mientras definen los métodos. En el artículo de hoy, lo ayudaremos a crear este error y resolverlo usted mismo.

Nota: El sistema operativo utilizado en esta guía es Ubuntu 20.04. Sin embargo, la misma guía también se puede implementar en otros sistemas operativos.

Ejemplo 01:

Comience con el primer ejemplo para ver cómo se produce la "función de error no se declaró en el alcance". Creemos un nuevo archivo C ++ con la consulta "toque" en el shell, como se muestra en la imagen a continuación.

Prueba de $ touch.CC

Después de crear un archivo, debe abrirlo dentro de algún editor para agregarle código C ++. Entonces, ya hemos instalado el editor GNU Nano para este propósito. Por lo tanto, hemos estado utilizando Nano Editor para abrir y escribir código en él según la imagen Snap.

$ nano prueba.CC

Dentro de este archivo, hemos incluido un encabezado de transmisión de entrada-salida al inicio. El espacio de nombres estándar debe usarse en el código C ++. Porque sin él, nuestro código no funcionará. El método principal se ha inicializado primero para iniciar la ejecución. Señala que se ha dado el control al método principal. El método principal utiliza la llamada de función para ejecutar el método definido por el usuario "Display ()". Entonces, el método display () que se ha definido después de que el método principal ejecuta y emite algunas declaraciones de texto.

En el caso del lenguaje C ++, tenemos que instalar el compilador G ++. Entonces, ya lo hemos instalado en nuestro sistema. El compilador G ++ se ha utilizado en el comando para compilar el código. La compilación arroja una excepción de que el método "Display ()" no se definió en el alcance. Esa es la razón por la que nuestro código no funcionará después de ejecutarlo también.

Prueba de $ G ++.CC

Tenemos que actualizar un código para que funcione y para evitar más errores de alcance. El código era correcto excepto por una cosa. Para resolver este error, un primer método que es útil sería declarar el prototipo de función antes del método main (). Entonces, hemos utilizado el prototipo de funciones antes del método principal en el código actualizado.

Cuando hemos compilado el código, no arroja excepciones y se ejecuta correctamente.

Prueba de $ G ++.CC
ps . /a.afuera

Otra forma de resolver este error de alcance es definir el método definido por el usuario antes de la función Main () si no desea usar su prototipo de función. Por lo tanto, según el siguiente código, hemos intercambiado las posiciones de un método Main () y Método Display ().

Cuando hemos compilado el código actualizado, funciona bien. Por lo tanto, el código de archivo se ejecuta correctamente y muestra la salida en la pantalla del terminal.

Prueba de $ G ++.CC
ps . /a.afuera

Ejemplo 02:

Ve a ver otro ejemplo para obtener el error de alcance de la función en el shell y resolverlo. Entonces, hemos actualizado el código de un archivo "Prueba.CC ". Después del espacio de nombres y el encabezado, hemos definido 2 funciones, show1 () y show2 () en el código. El método show1 () ha llamado el método show2 () dentro de él por una llamada de función.

Al compilar el archivo, tenemos el error que muestra que el método show2 () no se declara en el alcance. Como la función show2 () se ha declarado en el último, debemos declarar su prototipo antes del método show1 ().

Prueba de $ G ++.CC

Actualicemos el código para eliminar este error. Entonces, hemos abierto el archivo una vez más y agregamos la declaración de función de show2 () después del espacio de nombres y antes de todos los métodos.

Después de compilar el código, tenemos un nuevo error, aunque el error anterior se ha resuelto. El error dice que el código tiene una referencia indefinida. Esto significa que nuestro código no funcionará sin el método Main (). Además, no hemos llamado el método show1 () en ninguna parte.

Prueba de $ G ++.CC

Por lo tanto, hemos abierto el archivo una vez más para corregir este error. Hemos definido el método principal al final de ambas funciones. El método principal ha sido llamar al método show1 (). Como el método show1 () se ha definido al inicio, no hay necesidad de una declaración de prototipo de función. El método show1 () está llamando al método show2 (). De esta manera, la ejecución se completó.

Vamos a compilar y volver a ejecutar el código. Puedes ver que no hemos encontrado errores, y funciona bien.

Prueba de $ G ++.CC
ps . /a.afuera

Conclusión:

En esta guía, hemos utilizado ejemplos simples para hacer situaciones para obtener el error: "Función no declarada en el alcance". Además, hemos deliberado las técnicas para resolver tales problemas con diferentes métodos. Esperamos que le guste este artículo y lo encuentre útil.