Anzeige:
Ergebnis 1 bis 2 von 2

Thema: zeiger auf void

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.11.2002
    Beiträge
    61

    zeiger auf void

    Kann mir jemand sagen wofuer ich den void zeiger brauchen kann?um zu kompilieren
    muest ihr die zeile auskommentieren mit cout.....*universal
    PHP-Code:
    #include <iostream.h>

    int main()
    {
    int   *ZgInt;
    float *ZgFloat;
    int   Schwein 7Hund 27;
    float x 1.234532.14;
    void *universal;

       
    ZgInt = &Schwein;
       *
    ZgInt += Hund;
       
    cout << "Schwein hat jetzt den Wert " << *ZgInt << "\n";
       
    universal ZgInt;

       
    ZgFloat = &x;
       
    += * (*ZgFloat);
       
    cout << "y hat jetzt den Wert " << << "\n";
       
    universal ZgFloat;
       
    cout << "Inhalt von Universal ist jetzt "<< *universal//Diese Zeile tut nicht(Zeigerop. ungueltig)

       
    const char *Name1 "Johann";    // Wert kann nicht verändert werden
       
    char *const Name2 "Johann";    // Zeiger kann nicht verändert werden

       
    return 0;


  2. #2
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Du kannst einen void Pointer nicht dereferenzieren,wenn müßtest du ihn vorher auf einen Typ casten.
    Ein void Pointer ist ein generischer Pointer,der auf alles und nichts zeigen kann,und wird in C oft benutz,um allgemeine Algorithmen schreiben zu können.
    In C++ ist der Sinn von void Pointern stark eingeschränkt.

    Btw.
    Code:
       const char *Name1 = "Johann";    // Wert kann nicht verändert werden
    
       char *const Name2 = "Johann";    // Zeiger kann nicht verändert werden
    Die zweite Zeile ist falsch.Du kannst den String "Johann" auf keinen Fall verändern,weil der String in einen Read-Only-Speicherbereich abgelegt ist.
    Nur wegen der C Verwandschaft erzeugt die zweite Zeile keinen Compilerfehler.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •