Access Violation Error



  • Beseitige erst mal die Warnungen vom Compiler. Erhöhe den Warning-Level wenn keine auftauchen.
    Fehler (vor allem logische) sind nicht immer dort programmiert, wo sie auftauchen.

    Access Violation Error bedeutet: Zugriff auf einen verbotenen Bereich.
    I.A. ein Zeiger der falsch zeigt (oder ein Adressoperator an der Falschen Stelle).

    "Einheitenzahl"? In welcher Zeile? Und was gibst du dort ein?



  • Einwohner meinte ich ähm in Zeile 27,28 und ich gebe da eine gerade Zahl ein also einen Integer. Das mit dem Warning-Level werd ich mal probieren.



  • Falls du die Einwohner meinst:
    Bei dem scanf für einen Skalar (z.B. %d) brauchst du wieder den Adressoperator.



  • Hm mist da hätt ich aber auch selbst drauf kommen können -.- sind immer die einfachsten Sachen die man übersieht. Danke DirkB 🙂



  • Der Compiler sollte eine Warnung in der Zeile 28 geben. In der Art "Datentyp passt nicht zum Formatspecifier bei Parameter 1"

    Zudem kann das Problem bei scanf auftauchen, das scanf das Zeilenende (die Enter-Taste) im Eingabepuffer stehen lässt.
    Das Forum ist voll von diesem Problem. Hier gleich eine Lösung: http://www.c-plusplus.net/forum/viewtopic.php?t=39349



  • hm ich bekomme keinerlei Warnungen komischerweise aber ich weiß auch nicht wie ich das warning level erhöhen kann habe Dev-C++ habe gelesen das es dabei keine solchen level gibt. also der Adressoperator hatte bei mir das problem gelößt...



  • Dev-C++ wird seit 6 Jahren (in Worten: sechs Jahren) nicht mehr weiterentwickelt.



  • hm oh gott 😮 wusst ich nicht...
    kannst du einen empfehlen? nach möglichekeit kostenfrei?

    mfg Ghost



  • Zu den Warnings: als Suchbegriff bei Google bietet sich "How can i change the warning level in Dev C++" an

    Zu den Entwicklungsumgebungen:
    Code::Blocks nutzt auch den GCC.

    Microsoft VisualStudio Express ist auch kostenfrei.

    Forensuche

    (die fetten Begriffe mal bei Wikipedia eingeben) 😉



  • hm hab mir nun code::blocks geholt 🙂
    noch eine letzte frage ^^ kennst du eine möglichkeit um einen tastendruck auf der tastatur dierekt einzulesen ? habs mit der Funktion getchar() probiert, doch da haben viele verschiedene tasten den selben wert. was natürlich nicht sehr gut ist 😉



  • Ghostrider schrieb:

    hm hab mir nun code::blocks geholt 🙂
    noch eine letzte frage ^^ kennst du eine möglichkeit um einen tastendruck auf der tastatur dierekt einzulesen ? habs mit der Funktion getchar() probiert, doch da haben viele verschiedene tasten den selben wert. was natürlich nicht sehr gut ist 😉

    Das passiert sicherlich bei Funktionstasten (Fxx, Cursor).
    Ich mein mich dunkel zu erinnern, das der Wert 27 ist.

    Dann musst du ein zweites mal getch() bemühen. Dann kommt der Unterscheidungscode.


Anmelden zum Antworten