Anfänger braucht Hilfe bei Funktionen erstellen!



  • Nabend zusammen,
    Ich lerne mithilfe eines Buches C++ und wollte bei einer Aufgabenstellung eine Funktion testen. Eigentlich ganz einfach aber ich verstehe nicht warum ich keine Ausgabe bekommen 😕
    Nun habe ich alles gelöscht und das Problem mal kurz und bündig kopiert.

    #include "stdafx.h"
    #include <iostream>

    using namespace std;

    void Test();

    int main()
    {
    void Test();
    return 0;
    }

    void Test()
    {
    cout << "Funktioniert !\n";
    }

    Ich bekomme keine Ausgabe von void Test auf die Konsole und ich verstehe einfach nicht warum 😡 .
    Vielen Dank schonmal für eure Hilfe


  • Global Moderator |  Mod

    Du hast in der main keine Funktion namens Test aufgerufen, sondern eine neue Funktion namens Test deklariert. Lass das void weg.



  • Weil du die Funktion "Test" niemals aufrufst!

    void Test();
    

    bedeutet: es gibt (irgendwo) eine Funktion namens Test ohne Parameter, die nichts zurückgibt.

    Das kannst du dem Compiler übrigens auch mehrmals (beliebig oft) sagen.

    Ausführen einer Funktion geht mit funktionsname(parameter) . In deinem Fall musst du also das "void " aus der Zeile "void Test();" innerhalb des main entfernen.

    Wenn du deine Funktionen umdrehst (also erst Test, dann main), brauchst du die Vorwärts-Deklaration von Test nicht.

    Viel Erfolg beim Lernen!