void* array und casting



  • hallo,

    ich hab ein void *array, also: void **foo;
    ich moechte nun an einen bestimmten index (foo[a][b]) ein char schreiben (allokiert ist alles usw...)

    foo[a][b] = somechar; geht leider nicht und mit diversen castversuchen bin ich leider gescheitert...

    kann mir jemand sagen, wie das geht?

    danke im voraus!



  • hephaistos6 schrieb:

    hallo,
    ich hab ein void *array, also: void **foo;

    Nein, Du hast kein array! 😉

    Das geht nicht so einfach.

    Ein T[m][n] ist kein T** somderm eim T*; Stroustrup C++PL §C7.2 f.

    Ein int[2][2] = { 1 ,2 ,3, 4 }; sieht im Speicher auch genau so aus,

    also einfach m*n ints hintereinander.

    Was hast ist eine Folge von (void*) die bei foo anfängt.

    Poste bitte mal wie Du das "alles" allokalisierst.

    Grüsse

    Gast++



  • hallo,

    ich hab mittlerweile einfach auf
    char *foo[SOME_LENGTH]; umgestellt und nun gehts auch.

    danke trotzdem


Anmelden zum Antworten