← SEARCHABLE ARCHIVE
C / C++ · 2026-05-10

C++ de los fundamentos al dominio — Lección 4

¿Qué es una función? Episodio 2

INTERACTIVE READING MODE →

Los artículos escritos en este blog fueron creados con el objetivo de enseñar. Además, la información del artículo puede ser incorrecta, así que tenga cuidado.

En este artículo, aprendamos más sobre cómo utilizar las funciones básicas.

#include <iostream>

void function1(){
    std::cout << "function1!" << std::endl;
}

int main(){
    function1();
    function2();
    return 0;
}

void function2(){
    std::cout << "function2!" << std::endl;
}

El código no se compila. Puede variar según el compilador, pero main.cpp:9:5: error: ‘function2’ was not declared in this scope; Puedes ver que aparece un error.

en nuestros ojosfunction2está declarado, ¿por qué la computadora no lo sabe? El lenguaje C y la mayoría de los lenguajes de programación leen el código desde arriba. En otras palabras, el código le da estos comandos a la computadora.

La declaración de función1 se lee y la función1 se crea en la memoria. Se ejecuta la función principal y se ejecutan la función1 y la función2. La declaración de función2 se lee y la función2 se crea en la memoria. (Más adelante aprenderemos sobre el error en la búsqueda de nombres).

¿No hay algo extraño que pueda leer incluso un humano?

Intentar ejecutarlo en main antes de declarar la función 2 provoca un error de compilación.

#include <iostream>

void function1(){
    std::cout << "function1!" << std::endl;
}

void function2(){
    std::cout << "function2!" << std::endl;
}

int main(){
    function1();
    function2();
    return 0;
}

Por lo tanto, se espera que el código no cause un error.

O escriba una declaración encima de la función principal que le indique al compilador de antemano solo el tipo de función. La implementación que contiene operaciones reales se puede escribir en la función principal.

#include <iostream>

void function1();
void function2();

int main(){
    function1();
    function2();
    return 0;
}

void function1(){
    std::cout << "function1!" << std::endl;
}

void function2(){
    std::cout << "function2!" << std::endl;
}