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

C++ von den Grundlagen bis zum Profi — Folge 4

Was ist eine Funktion? Teil 2

INTERACTIVE READING MODE →

Die in diesem Blog verfassten Artikel wurden mit dem Ziel erstellt, zu unterrichten. Außerdem können die Informationen im Artikel falsch sein, also seien Sie bitte vorsichtig.

In diesem Artikel erfahren Sie mehr über die Verwendung grundlegender Funktionen.

#include <iostream>

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

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

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

Der Code lässt sich nicht kompilieren. Es kann jedoch je nach Compiler variieren main.cpp:9:5: error: ‘function2’ was not declared in this scope; Sie können sehen, dass ein Fehler auftritt.

In unseren Augenfunction2deklariert ist, warum weiß der Computer das nicht? Die C-Sprache und die meisten Programmiersprachen lesen den Code von oben. Mit anderen Worten: Der Code gibt diese Befehle an den Computer weiter.

Die Deklaration von Funktion1 wird gelesen und Funktion1 wird im Speicher erstellt. Die Hauptfunktion wird ausgeführt und Funktion1 und Funktion2 werden ausgeführt. Die Deklaration von Funktion2 wird gelesen und Funktion2 wird im Speicher erstellt. (Vom Fehler bei der Namenssuche erfahren wir später.)

Ist es nicht selbst für einen Menschen etwas Seltsames zu lesen?

Der Versuch, es in main auszuführen, bevor Funktion2 deklariert wird, führt zu einem Kompilierungsfehler.

#include <iostream>

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

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

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

Daher wird erwartet, dass der Code keinen Fehler verursacht.

Oder schreiben Sie eine Deklaration über der Hauptfunktion, die dem Compiler im Voraus nur den Typ der Funktion mitteilt. Implementierungen, die tatsächliche Operationen enthalten, können unter der Hauptfunktion geschrieben werden.

#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;
}