C++ Linker Error - Frage



  • Hallo,

    Ich bin nicht der hellste in C++ und fange es erst an zu lernen und ich hätte eine Frage ob jemand weiß wo bei mir der Fehler bei dieser Programmierung vorliegen könnte?

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    void anmelden();
    void warteliste();
    void abmelden();
    void programmende();
    string nachname;
    unsigned int nummer;
    string anmeldeliste[8];
    void menu();
    
    int main()
    
    {
    
    for(int i = 0;i<=7;i++)
    {
    anmeldeliste[i]="";
    }
    
    cout << "Hallo Sportsfreund, hier spricht dein Kapitaen, Popeye der Seeman!\n";
    cout << "Ich heiße dich herzlich zu dem Segelwochenende willkommen, dass am 1. Dezember\n 2012 stattfinden würde.\n";
    cout << "Falls du an dieser Veranstaltung Interesse hast führe bitte eine Anmeldung durch\n";
    cout << "Die näheren Informationen zu dem Event erfährst du am Ende der Anmeldung.\n";
    cout << "Viel Erfolg wünscht dir dein Kapitän, Popeye ;)\n";
    cout << "________________________________________________________________________________\n";
    
    void menu();
    
    system("PAUSE");
    return EXIT_SUCCESS;
    
    }
    void menu()
    {
    
    cout << "Anmeldung - 1 -\n";
    cout << "Angemeldete Personen - 2 -\n";
    cout << "Abmeldung - 3 -\n";
    cout << "Programmende - 4 -\n";
    cout << "Ihre Auswahl: ";
    cin >> nummer;
    
    switch (nummer)
    {
    
    case 1 : cout << "Bitte geben Sie Ihren Nachnamen ein:\n";
    
    anmelden();
    
             break;
    
    case 2 : cout << "Anzahl der angemeldeten Personen: \n";
    anmeldeliste[8];
    
             break;
    
    case 3 : cout << "Abmeldung\n";
    abmelden();
    
             break;
    case 4 : cout << "Programmende\n";
    programmende();
    
    break;
    
    }
    
    void anmelden();
    {//string für Nachname einbauen
         cin >> nachname;
    }
    
    string anmeldeliste[8];
    {
           cout << "Angemeldete Personen" ;
    }
    
    void abmelden();
    {
         cout << "Abmeldung";
    }
    void programmende();
    {
         cout << "ende";
    }
    
    system("PAUSE");
    
    }
    

    Immer wenn ich versuche den Quelltext auszuführen krieg ich einen Linker Error. Woran könnte es liegen?

    Vielen Dank im Voraus,

    Wernerkovski 🙂



  • void menu();
    

    So ruft man keine Funktionen inerhalb einer anderen auf.

    void foo(); { }
    

    So definiert man keine Funktionen, im Endeffekt gibst du dem Compiler nur den Funktionskopf, denn das Semikolon gehört da nicht hin. Im Nachhinein sucht der Linker aber dann nach der tatsächlichen Definition, findet sie nicht und beschwert sich darüber bei dir. Lass die Semikolons bei sämtlichen Funktions-Definitionen weg.



  • Zum restlichen Stil blieb zu viel zu bemeckern ... wie/mit was lernst Du, wenn man fragen darf ?


Anmelden zum Antworten