tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
311
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    NoPanic2007 NoPanic2007 ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    4
    Kann jemand erklären, warum das einen Speicherzugriffsfehler gibt!?

    #include <iostream>

    class cell {

    public :
    cell* input();
    private :
    int index;

    };

    typedef cell* cellPtr;
    static cellPtr list;

    cell* cell::input( ) { list->index=2000; return ( list ); }


    int main() {

    cellPtr* cellPtrPtr;
    cellPtrPtr = new cellPtr[3];
    cell* myPtr;
    cell mycell;

    myPtr = &mycell;
    cellPtrPtr[0] = myPtr->input();
    delete [] cellPtrPtr;
    }

    Merci.
     

  2. #2
    Buba235 Buba235 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Beiträge
    278
    Hallo!


    Bei dem Abschnitt "list->index = 2000" scheint was schief zu laufen. Schau dir das mal genauer an. Ich versuch mal etwas genaueres heraus zu bekommen.


    Gruß
    Buba
     
    -- Wer auch nur etwas Freiheit für mehr Sicherheit aufgibt, ist beides nicht wert! --

  3. #3
    Buba235 Buba235 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Beiträge
    278
    Hallo!


    Also wenn du aus "list->index = 2000;" ein "list->index; index = 2000" machst läuft er ohne Probleme durch!


    Gruß
    Buba
     
    -- Wer auch nur etwas Freiheit für mehr Sicherheit aufgibt, ist beides nicht wert! --

  4. #4
    NoPanic2007 NoPanic2007 ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    4
    mmmh, okay, das läuft durch! aber er schmeißt die Warnung:

    In member function ‘cell* cell::input()’:
    func.cc:17: warning: statement has no effect

    also, passiert eigentlich nix...oder?
     

  5. #5
    Buba235 Buba235 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Beiträge
    278
    Hmmm...

    Da hast du recht - es scheint eigentlich keinerlei Auswirkung zu haben. Wahrscheinlich weil diese Variable (cellPtr) nicht zu der Klasse gehört. Leider bin ich hier mit meinem Latein am Ende.



    Gruß
    Buba

    P.S.: Solte ich noch eine Lösung finden werde ich sie posten!
     
    -- Wer auch nur etwas Freiheit für mehr Sicherheit aufgibt, ist beides nicht wert! --

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Das Problem ist, das du keinen Speicher für die Variable "list" alloziert hast, da du die Variable gar nicht initialisierst.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. [C++] Speicherzugriffsfehler
    Von FBIagent im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 26.03.08, 13:16
  2. Speicherzugriffsfehler
    Von sunmania im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 25.06.07, 10:13
  3. C++ SDL Speicherzugriffsfehler
    Von kle-ben im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 09.12.05, 19:27
  4. Cedega - Speicherzugriffsfehler?
    Von _henrik im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 22.07.05, 13:26
  5. Speicherzugriffsfehler
    Von vaporizer im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 27.05.04, 10:02