Frage von elektronik007, 52

c++ gibt Seltsarme fehlermeldungen?

ch habe in c++ ein Programm geschrieben welches eine Passwortabfrage sein soll es gab beim Kompilieren eine Fehlermeldung wo ich die Lösung leider nicht kenne. Kann mir einer helfen? Danke schon mal im voraus.

ach ja die Fehlermeldung:[Error] a function-definition is not allowed here before '{' token

und die zweite:842C:[Error] expected '}' at end of input

Hier mal mein Programm:

#include <iostream>

#include <windows.h>

#include <Conio.h>

#include <string>

using namespace std;

bool Paswortabfrage(string);

int main() {

for(int i = 3; i > 0; i--)
{

    cout << "paswort:";
    if(Paswortabfrage("hallo"))
    {
    cout << "\nPaswort Akzeptiert!";
    break;
    }
    
    else
    {
    Beep(500, 50);
    Beep(500, 30);

    cout << "Paswort falsch!" << endl;
    cout << "Noch " << i << " Versuche frei!" << endl;
    }
    
    return 0;

}

bool Paswortabfrage(string richtigesPasswort) {

    char einZeichen;
    string ganzesPaswort;
    einZeichen = getch();
    
    while( einZeichen != 0x0D )
    {
    
        if( einZeichen != 0x08 )
        {
        
            ganzesPaswort += einZeichen;
            
            putch('*');
        
        }
        
        else if( einZeichen == 0x08 && ganzesPaswort.length() > 0 )
        {
        
            ganzesPaswort.resize(ganzesPaswort.length() - 1);
            
            putch('0x08');
            putch(' ');
            putch('0x08');
        
        }
    
        einZeichen = getch();
    }

    if( ganzesPaswort == richtigesPasswort )
    {
        return true;
    }
    
    else
    {
        return false;
}

}

Antwort
von spaghetticode, 32

Und wie lautet die Fehlermeldung? Hier kann keiner hellsehen.

Außerdem bitte nächstes Mal die Codeformatierung (spitze Klammern überm Editor) nutzen - sich durch das Chaos wühlen wird keiner wollen.

Kommentar von elektronik007 ,

Danke ich hebe neu neue frage wo das drin stet mit der fehlermeldung: https://www.gutefrage.net/frage/c-gibt-seltsarme-fehlermeldungen?foundIn=by-answ...

Kommentar von maximilianus7 ,

ich habs gerade ausprobiert: "codebeispiel einfügen" funktioniert nicht. erst recht nicht, wenn man mit copy&paste versucht, eine grössere menge code darzustellen.
das ist auch allgemein bekannt (siehe forum)

beim fragestellen-editor tut sich nicht mal der code-fenster wie im kommentar-editor auf.

deswegen empfehle ich immer, einen externen service (wie pastie.org) zu benutzen. das ist auch für jemanden, der den code zum testen abkopieren will, ideal - im ggs. zur GF-seite, wo dies eine quälerei ist.

Kommentar von spaghetticode ,

Ist schon klar - aber wir reden hier nur über ein paar Zeilen. Das geht schon. Copy + paste natürlich nicht, da ist ein Pastebin besser, keine Frage.

Antwort
von spaghetticode, 24

Lerne Fehlermeldungen lesen und verstehen. Diese hier ist eindeutig.

Du hast deine Funktion innerhalb von main() definiert. Verschachtelte Funktionen sind in C++ nicht erlaubt.

Kommentar von spaghetticode ,

Mit einer sauberen Einrückung siehst du übrigens auf einen Blick, ob alle zusammengehörenden Klammern auch richtig und vollzählig gesetzt sind. Sieh dir mal ein paar Codebeispiele genauer an und gewöhne dir eine saubere Formatierung an, falls du das noch nicht getan hast.

Antwort
von anion, 25

die fehlermeldung sagt dir doch genau, was der fehler ist.
falls du weitere unterstützung  brauchst, such mal nach dem fehler auf stackoverflow.com

Antwort
von kuku27, 7

Vielleicht stoßt sich das Programm an der Rechtschreibung. Ist doch "Pas" nur ein Schritt. Sonst kenne ich nur Paßwörter oder Passwörter.

Ok War nur ein Scherz, aber bei der Fehlerbeschreibung ohne Fehlerbeschreibung das beste das ich bieten kann.

Antwort
von Monsieurdekay, 26

hast du die Klasse "string" includiert? Das wäre schon mal die erste Fehlerquelle

Kommentar von Monsieurdekay ,

okay hast du.. das wurde mir eben noch nicht angezeigt^^

Keine passende Antwort gefunden?

Fragen Sie die Community