Problem: C++ Array von Structs

  • zur Laufzeit tritt folgender Fehler auf:

    Zitat

    Unhandled exception at 0x0055c253 in Main.exe: 0xC0000005: Access violation reading location 0xb905ca21.

    Fehler dürfte irgendwo bei folgender Stelle in string.h liegen

    Code
    bool  IsShared()  const { return (nRefs > 1);   }

    versteht das jemand?

    Macht irgendwie keinen Sinn für mich.

    david

    I like Toast!

  • blah :)

    I like Toast!

  • neues problem :)

    Ich kann aber in export auf alle elemente zugreifen, nur liefter sizeof(p) immer 4 zurück


    welche Möglichkeit gibts noch die Größe des Arrays zu bestimmen?

    david

    I like Toast!

  • Zitat von davewood

    welche Möglichkeit gibts noch die Größe des Arrays zu bestimmen?


    Die Anzahl der Elemente des Arrays a bestimmst du mit sizeof (a) / sizeof (a[0]).
    Allerdings kannst du in C und C++ keine Arrays als Funktionsargument übergeben; auch wenn du den Parameter wie oben als ExportStruct p[] deklarierst, ist das für den Compiler nichts anderes als ExportStruct *p, also ein Pointer.
    Jeder Ausweg aus dieser Situation hat bestimmte Nachteile (nämlich: der User muß die Funktion richtig verwenden); eine Möglichkeit wäre, export mit zwei Parametern auszustatten, einem für das Array und einem anderen für die Größe.

    *plantsch*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!