Records bzw Strukturen Problem



  • Hallo Leute ich bin neu hier hab aber gleich mal ne frage:

    Quelltext
    typedef struct Autos
    { char vorname[31], nachname[31];
    char strasse[26];
    int postleitzahl;
    char wohnort[21];
    char telefon [15];
    int alter; } Mensch;
    Mensch *Auto1;

    void main(void)
    {
    int iA;
    int iB;
    char C[30];

    Auto1->alter=14;

    getch();

    }

    Wenn ich diesen Quelltext compilieren will bekomme ich einen zugriffsfehler



  • Hallo

    Du greifst auf den Pointer Auto1 zu obwohl keine gültige Instanz zugewiesen wurde.
    Und noch ein paar Hinweise

    struct Mensch // typedef ist für diesen Zweck alter C-Style
    { 
      char vorname[31], 
      nachname[31];
      char strasse[26];
      int postleitzahl;
      char wohnort[21];
      char telefon [15];
      int alter; 
    };
    
    int main() // Korrekte main-Funktion
    {
      Mensch Mensch1; // Kein globales Object und kein Pointer
      Mensch1.alter = 14;
    
      Mensch *Mensch2 // Kein globales Object aber Pointer, noch ohne Instanz
      Mensch2->alter = 14; // Fehler!
      Mensch2 = new Mensch; // Instanz erstellen und zuweisen
      Mensch2->alter = 14; // Richtig
      delete Mensch2; // Instanz wieder freigeben, weil wird nicht automatisch gemacht
      Mensch2->alter = 14; // Fehler, nicht mehr gültig!
    
      getch();
    }
    

    Und noch sfds

    bis bald
    akari



  • Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Chuwbi schrieb:

    typedef struct Autos
    { ... } Mensch;
    

    Was soll man zu dieser Namenswahl noch sagen ... *scnr*


Anmelden zum Antworten